int main(int argc, char* argv[]) { int i; if (argc < 2) { fprintf(stderr, "%s: file name not given\n", argv[0]); do_cat(NULL); } for (i = 1; i < argc; i++) { do_cat(argv[i]); } exit(0); }
int main(int argc, char *argv[]) { if (argc == 1) { do_cat(stdin); } else { int i; for (i = 1; i < argc; i++) { FILE *f = fopen(argv[i], "r"); if (!f) { perror(argv[i]); exit(1); } do_cat(f); fclose(f); } } exit(0); }
int main( int argc, char **argv ) /*******************************/ { int ch; int unbuff_flag = 0; int fh; setvbuf( stdin, NULL, _IONBF, 0 ); while( (ch = getopt( argc, argv, ":u" )) != -1 ) { switch( ch ) { case 'u': unbuff_flag = 1; /* currently unused */ break; case '?': util_quit( usage_text, NULL ); } } /* Skip option arguments and argv[0] */ argc = argc - optind; argv += optind; setmode( STDOUT_FILENO, O_BINARY ); if( argc == 0 ) { setmode( STDIN_FILENO, O_BINARY ); do_cat( STDIN_FILENO ); } else { while( *argv != NULL ) { fh = open( *argv, O_RDONLY | O_BINARY ); if( fh == -1 ) { fprintf( stderr, "cat: error opening '%s' for read: %s\n", *argv, strerror( errno ) ); return( EXIT_FAILURE ); } else { do_cat( fh ); close( fh ); } argv++; } } return( EXIT_SUCCESS ); }
int command_cat (int argc, char **argv) { int i = 1, in; if (argc == 1) { do_cat (STDIN_FILENO); return (EXIT_SUCCESS); } else if (argc >= 2) { if (!strcmp (argv[1], "--help")) { puts (help_text); return (EXIT_SUCCESS); } else if (!strcmp (argv[1], "--version")) { puts ("cat: version "VERSION); return (EXIT_SUCCESS); } else if (!strcmp (argv[1], "-u")) /* Ignored */ ++i; } for (; i < argc; ++i) { if (!strcmp (argv[i], "-")) in = STDIN_FILENO; else { in = open (argv[i], O_RDONLY); if (!in) error ("cannot open file `%s' for reading: %s", argv[i], strerror (errno)); close (in); } do_cat (in); } return (EXIT_SUCCESS); }
void prc(char *rq,int f) { char cmd[BUFSIZ], arg[BUFSIZ]; if (fork()!=0) return; // strcpy(arg,"./"); // cur dir - add the path if ( sscanf(rq,"%s%s",cmd,arg+2)!=2) return; // parse for cmd and arg if( strcmp(cmd,"GET")!=0 ) cntdo(f); // there is no GET else if (ntxt(arg)) do404(arg,f); // there are no args in request else do_cat(arg,f); // is html }
int main(int argc, char * argv[]) { if (argc < 1) { fprintf(stderr, "%s: file name not given\n", argv[0]); exit(1); } if (argc == 1) { do_echo(); } else { for (int i = 1; i < argc; i++) { do_cat(argv[i]); } } exit(0); }
void cat (int i) { char *args = (char *) i; if( ! args ) { goto no_arg; } while( isspace (*args) ) ++args; if(! *args) { no_arg: printf("no argument specified for cat...\n"); goto out; } do_cat(args); out:; }
int main(int argc, char *argv[]){ int i; if(argc < 2){ unsigned char buf[BUFFER_SIZE]; int n; for(;;){ n = read(STDIN_FILENO, buf, sizeof buf); if(n == 0) break; if (write(STDOUT_FILENO, buf, n) < 0) exit(1); } } for(i = 1; i < argc; i++){ do_cat(argv[i]); } exit(0); }
int main(int argc, char *argv[]){ int i; /* if(argc < 2){ */ /* fprintf(stderr, "%s: file name not given\n", argv[0]); */ /* exit(1); */ /* } */ char s[2048]; if(argc == 1){ scanf("%s", s); printf("%s\n", s); }else{ for(i = 1; i < argc; i++){ do_cat(argv[i]); } } exit(0); }
extern void process_rq(char *request, int sock_fd) { char cmd[BUFSIZ], arg[BUFSIZ]; strcpy(arg, "./"); sscanf(request, "%s %s", cmd, arg + 2); if (fork() != 0) return ; if (strcmp(cmd, "GET") != 0) { cannot_do(sock_fd); } else if (not_exist(arg)) { do_404(arg, sock_fd); } else if (is_dir(arg)) { do_ls(arg, sock_fd); } else if (ends_in_cgi(arg)) { do_exec(arg, sock_fd); } else { do_cat(arg, sock_fd); } }
/* ------------------------------------------------------ * process_rq( char *rq, int fd ) do what the request asks for and write reply to fd handles request in a new process rq is HTTP command: GET /foo/bar.html HTTP/1.0 ------------------------------------------------------ */ process_rq( char *rq, int fd) { char cmd[BUFSIZ], arg[BUFSIZ]; if ( sscanf(rq, "%s%s", cmd, arg) != 2 ) return; sanitize(arg); printf("sanitized version is %s\n", arg); if ( strcmp(cmd,"GET") != 0 ) not_implemented(); else if ( built_in(arg, fd) ) ; else if ( not_exist( arg ) ) do_404(arg, fd); else if ( isadir( arg ) ) do_ls( arg, fd ); else do_cat( arg, fd ); }
void process_rq(char* rq , int fd) { char cmd[BUFSIZ] , arg[BUFSIZ] ; if(fork() != 0) return ; strcpy(arg , "./"); if(sscanf(rq , "%s %s" , cmd , arg+2) != 2) return ; if(strcmp(cmd , "GET") != 0) { if(strcmp(cmd , "HEAD") != 0) cannot_do(fd); else if(not_exist(arg)) do_404(arg , fd); else { if(isadir(arg)) { strcat(arg , "index.html"); printf("modified arg : %s\n" ,arg); if(not_exist(arg)) do_404(arg , fd); } do_process_head(arg , fd); } } else if(not_exist(arg)) do_404(arg , fd); else if(isadir(arg)) do_ls(arg , fd); else if(ends_in_cgi(arg)) do_exec(arg ,fd); else do_cat(arg , fd); }
void process_rq(char *rq, int fd) { char cmd[BUFSIZ], arg[BUFSIZ]; if (fork() != 0) return; strcpy(arg, "./"); if (sscanf(rq, "%s%s", cmd, arg+2) != 2) return; if (strcmp(cmd, "GET") != 0) cannot_do(fd); else if (not_exist(arg)) do_404(arg, fd); else if (isadir(arg)) do_ls(arg, fd); else if (ends_in_cgi(arg)) do_exec(arg, fd); else do_cat(arg, fd); }
process_rq( char *rq, int fd ) { char cmd[BUFSIZ], arg[BUFSIZ]; /* create a new process and return if not the child */ if ( fork() != 0 ) return; strcpy(arg, "./"); /* precede args with ./ */ if ( sscanf(rq, "%s%s", cmd, arg+2) != 2 ) return; if ( strcmp(cmd,"GET") != 0 ) cannot_do(fd); else if ( not_exist( arg ) ) do_404(arg, fd ); else if ( isadir( arg ) ) do_ls( arg, fd ); else if ( ends_in_cgi( arg ) ) do_exec( arg, fd ); else do_cat( arg, fd ); }
int main() { char str[] = "This is over 10."; do_cat(str); return 0; }
int main (int argc, char **argv) { int exit = 0; char *buffer = g_new (char, 1024) ; GIOChannel *ioc; guint watch_id = 0; GOptionContext *ctx = NULL; GError *error = NULL; /* default to interactive on a terminal */ interactive = isatty (0); ctx = g_option_context_new("test-vfs"); g_option_context_add_main_entries(ctx, options, NULL); if (!g_option_context_parse(ctx, &argc, &argv, &error)) { g_printerr("main: %s\n", error->message); g_error_free(error); g_option_context_free(ctx); return 1; } g_option_context_free(ctx); files = g_hash_table_new (g_str_hash, g_str_equal); if (noninteractive) interactive = FALSE; if (interactive) vfserr = stderr; else vfserr = stdout; if (!mate_vfs_init ()) { fprintf (vfserr, "Cannot initialize mate-vfs.\n"); return 1; } mate_vfs_module_callback_push (MATE_VFS_MODULE_CALLBACK_AUTHENTICATION, authentication_callback, NULL, NULL); if (argc == 1) cur_dir = g_get_current_dir (); else cur_dir = g_strdup(argv[1]); if (cur_dir && !G_IS_DIR_SEPARATOR (cur_dir [strlen (cur_dir) - 1])) cur_dir = g_strconcat (cur_dir, G_DIR_SEPARATOR_S, NULL); if (interactive == TRUE) { main_loop = g_main_loop_new (NULL, TRUE); ioc = g_io_channel_unix_new (0 /* stdin */); g_io_channel_set_encoding (ioc, NULL, NULL); g_io_channel_set_buffered (ioc, FALSE); watch_id = g_io_add_watch (ioc, G_IO_IN | G_IO_HUP | G_IO_ERR, callback, buffer); g_io_channel_unref (ioc); } while (!exit) { char *ptr; if (interactive) { fprintf (stdout,"\n%s > ", cur_dir); fflush (stdout); strcpy (buffer, ""); g_main_loop_run (main_loop); } else { /* In non-interactive mode we just do this evil * thingie */ buffer[0] = '\0'; fgets (buffer, 1023, stdin); if (!buffer [0]) { exit = 1; continue; } } if (!buffer || buffer [0] == '#') continue; arg_data = g_strsplit (g_strchomp (buffer), delim, -1); arg_cur = 0; if ((!arg_data || !arg_data[0]) && interactive) continue; if (!interactive) printf ("Command : '%s'\n", arg_data [0]); ptr = arg_data[arg_cur++]; if (!ptr) continue; if (g_ascii_strcasecmp (ptr, "ls") == 0) do_ls (); else if (g_ascii_strcasecmp (ptr, "cd") == 0) do_cd (); else if (g_ascii_strcasecmp (ptr, "dump") == 0) do_dump (); else if (g_ascii_strcasecmp (ptr, "type") == 0 || g_ascii_strcasecmp (ptr, "cat") == 0) do_cat (); else if (g_ascii_strcasecmp (ptr, "cp") == 0) do_cp (); else if (g_ascii_strcasecmp (ptr, "rm") == 0) do_rm (); else if (g_ascii_strcasecmp (ptr, "mkdir") == 0) do_mkdir (); else if (g_ascii_strcasecmp (ptr, "rmdir") == 0) do_rmdir (); else if (g_ascii_strcasecmp (ptr, "mv") == 0) do_mv (); else if (g_ascii_strcasecmp (ptr, "info") == 0 || g_ascii_strcasecmp (ptr, "stat") == 0) do_info (); else if (g_ascii_strcasecmp (ptr, "findtrash") == 0) do_findtrash (); else if (g_ascii_strcasecmp (ptr, "ssl") == 0) do_ssl (); else if (g_ascii_strcasecmp (ptr, "sync") == 0) fprintf (vfserr, "a shell is like a boat, it lists or syncs (RMS)\n"); else if (g_ascii_strcasecmp (ptr,"help") == 0 || g_ascii_strcasecmp (ptr,"?") == 0 || g_ascii_strcasecmp (ptr,"info") == 0 || g_ascii_strcasecmp (ptr,"man") == 0) list_commands (); else if (g_ascii_strcasecmp (ptr,"exit") == 0 || g_ascii_strcasecmp (ptr,"quit") == 0 || g_ascii_strcasecmp (ptr,"q") == 0 || g_ascii_strcasecmp (ptr,"bye") == 0) exit = 1; /* File ops */ else if (g_ascii_strcasecmp (ptr, "open") == 0) do_open (); else if (g_ascii_strcasecmp (ptr, "create") == 0) do_create (); else if (g_ascii_strcasecmp (ptr, "close") == 0) do_close (); else if (g_ascii_strcasecmp (ptr, "handleinfo") == 0) do_handleinfo (); else if (g_ascii_strcasecmp (ptr, "read") == 0) do_read (); else if (g_ascii_strcasecmp (ptr, "seek") == 0) do_seek (); else fprintf (vfserr, "Unknown command '%s'", ptr); g_strfreev (arg_data); arg_data = NULL; } if (interactive) { g_source_remove (watch_id); g_main_loop_unref (main_loop); main_loop = NULL; } g_free (buffer); g_free (cur_dir); close_files (); return 0; }
int main(int argc, char **argv) { char *pgm; /* less any extension (.ext) */ int rc = 0; CIFBLK *cif = 0; char *fn; char *sfn; INITIALIZE_UTILITY( UTILITY_NAME, "DASD cat program", &pgm ); if (argc < 2) { // "Usage: dasdcat..." WRMSG( HHC02405, "I", pgm ); return 1; } /* * If your version of Hercules doesn't have support in its * dasdutil.c for turning off verbose messages, then remove * the following line but you'll have to live with chatty * progress output on stdout. */ set_verbose_util(0); while (*++argv) { if (!strcmp(*argv, "-i")) { fn = *++argv; if (*(argv+1) && strlen (*(argv+1)) > 3 && !memcmp(*(argv+1), "sf=", 3)) sfn = *++argv; else sfn = NULL; if (cif) { close_ckd_image(cif); cif = 0; } cif = open_ckd_image(fn, sfn, O_RDONLY | O_BINARY, IMAGE_OPEN_NORMAL); if (!cif) { // "Failed opening %s" FWRMSG( stderr, HHC02403, "E", *argv ); rc = 1; break; } } else if (cif) { if ((rc = do_cat( cif, *argv )) != 0) { rc = 1; break; } } } if (cif) close_ckd_image(cif); return rc; }
int main() { do_cat(""); return 0; }