//edited from catbyline.c int main (int argc, char **argv) { options opts; program_name = basename (argv[0]); scan_options (argc, argv, &opts); if (argc == 1) { exit_status = EXIT_FAILURE; fprintf (stderr, "%s: invalid operands %s\n", program_name, strerror (errno)); }else{ char *string = argv[optind]; for (int argi = optind+1; argi < argc; ++argi) { char *filename = argv[argi]; if (strcmp (filename, STDIN_NAME) == 0) { catbyline (stdin, STDIN_NAME, string, &opts); }else { if (argc > optind+2) printf ("FILE %s:\n", filename); FILE *input = fopen (filename, "r"); if (input != NULL) { catbyline (input, filename, string, &opts); fclose (input); }else { exit_status = EXIT_FAILURE; fflush (NULL); fprintf (stderr, "%s: %s: %s\n", program_name, filename, strerror (errno)); fflush (NULL); } } } } return exit_status; }
int main (int argc, char **argv) { program_name = basename (argv[0]); if (argc == 1) { catbyline (stdin, STDIN_NAME); }else { for (int argi = 1; argi < argc; ++argi) { char *filename = argv[argi]; if (strcmp (filename, STDIN_NAME) == 0) { catbyline (stdin, STDIN_NAME); }else { FILE *input = fopen (filename, "r"); if (input != NULL) { catbyline (input, filename); fclose (input); }else { exit_status = EXIT_FAILURE; fflush (NULL); fprintf (stderr, "%s: %s: %s\n", program_name, filename, strerror (errno)); fflush (NULL); } } } } return exit_status; }
//Synopsis: read int main (int argc, char** argv) { //Set the program name and comparator string program_name = basename (argv[0]); bool nope = false; bool stdread = false; int base = 0; scan_options (argc, argv, &flags); if ((flags.ignore_case == false) && (flags.filenames_only == false) && (flags.number_lines == false)) nope = true; if (nope == true) { stringComp = argv [1]; base = 2; if (argc == 2) { stdread = true; catbyline (stdin, STDIN_NAME, argc, nope); } } else { stringComp = argv [2]; base = 3; if (argc == 3) { stdread = true; catbyline (stdin, STDIN_NAME, argc, nope); } } //If there are no file inputs it will read stdin if (!stdread) { for (int argi = base; argi < argc; ++argi) { char *filename = argv[argi]; if (strcmp (filename, STDIN_NAME) == 0) { catbyline (stdin, STDIN_NAME, argc, nope); }else { FILE *input = fopen (filename, "r"); if (input != NULL) { catbyline (input, filename, argc, nope); fclose (input); }else { exit_status = EXIT_FAILURE; fflush (NULL); fprintf (stderr, "%s: %s: %s\n", program_name, filename, strerror (errno)); fflush (NULL); } } } } return exit_status; }