diff options
Diffstat (limited to 'editors')
-rw-r--r-- | editors/cmp.c | 14 | ||||
-rw-r--r-- | editors/sed.c | 11 |
2 files changed, 7 insertions, 18 deletions
diff --git a/editors/cmp.c b/editors/cmp.c index 9189b3150..b211adf9f 100644 --- a/editors/cmp.c +++ b/editors/cmp.c | |||
@@ -23,16 +23,6 @@ | |||
23 | 23 | ||
24 | #include "libbb.h" | 24 | #include "libbb.h" |
25 | 25 | ||
26 | static FILE *cmp_xfopen_input(const char *filename) | ||
27 | { | ||
28 | FILE *fp; | ||
29 | |||
30 | fp = fopen_or_warn_stdin(filename); | ||
31 | if (fp) | ||
32 | return fp; | ||
33 | xfunc_die(); /* We already output an error message. */ | ||
34 | } | ||
35 | |||
36 | static const char fmt_eof[] ALIGN1 = "cmp: EOF on %s\n"; | 26 | static const char fmt_eof[] ALIGN1 = "cmp: EOF on %s\n"; |
37 | static const char fmt_differ[] ALIGN1 = "%s %s differ: char %"OFF_FMT"d, line %d\n"; | 27 | static const char fmt_differ[] ALIGN1 = "%s %s differ: char %"OFF_FMT"d, line %d\n"; |
38 | // This fmt_l_opt uses gnu-isms. SUSv3 would be "%.0s%.0s%"OFF_FMT"d %o %o\n" | 28 | // This fmt_l_opt uses gnu-isms. SUSv3 would be "%.0s%.0s%"OFF_FMT"d %o %o\n" |
@@ -65,7 +55,7 @@ int cmp_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
65 | argv += optind; | 55 | argv += optind; |
66 | 56 | ||
67 | filename1 = *argv; | 57 | filename1 = *argv; |
68 | fp1 = cmp_xfopen_input(filename1); | 58 | fp1 = xfopen_stdin(filename1); |
69 | 59 | ||
70 | if (*++argv) { | 60 | if (*++argv) { |
71 | filename2 = *argv; | 61 | filename2 = *argv; |
@@ -79,7 +69,7 @@ int cmp_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
79 | #endif | 69 | #endif |
80 | } | 70 | } |
81 | 71 | ||
82 | fp2 = cmp_xfopen_input(filename2); | 72 | fp2 = xfopen_stdin(filename2); |
83 | if (fp1 == fp2) { /* Paranoia check... stdin == stdin? */ | 73 | if (fp1 == fp2) { /* Paranoia check... stdin == stdin? */ |
84 | /* Note that we don't bother reading stdin. Neither does gnu wc. | 74 | /* Note that we don't bother reading stdin. Neither does gnu wc. |
85 | * But perhaps we should, so that other apps down the chain don't | 75 | * But perhaps we should, so that other apps down the chain don't |
diff --git a/editors/sed.c b/editors/sed.c index a0994aec0..32911f8f9 100644 --- a/editors/sed.c +++ b/editors/sed.c | |||
@@ -1231,7 +1231,7 @@ static void add_cmd_block(char *cmdstr) | |||
1231 | } | 1231 | } |
1232 | 1232 | ||
1233 | int sed_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 1233 | int sed_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
1234 | int sed_main(int argc, char **argv) | 1234 | int sed_main(int argc ATTRIBUTE_UNUSED, char **argv) |
1235 | { | 1235 | { |
1236 | enum { | 1236 | enum { |
1237 | OPT_in_place = 1 << 0, | 1237 | OPT_in_place = 1 << 0, |
@@ -1246,7 +1246,7 @@ int sed_main(int argc, char **argv) | |||
1246 | if (ENABLE_FEATURE_CLEAN_UP) atexit(sed_free_and_close_stuff); | 1246 | if (ENABLE_FEATURE_CLEAN_UP) atexit(sed_free_and_close_stuff); |
1247 | 1247 | ||
1248 | /* Lie to autoconf when it starts asking stupid questions. */ | 1248 | /* Lie to autoconf when it starts asking stupid questions. */ |
1249 | if (argc == 2 && !strcmp(argv[1], "--version")) { | 1249 | if (argv[1] && !strcmp(argv[1], "--version")) { |
1250 | puts("This is not GNU sed version 4.0"); | 1250 | puts("This is not GNU sed version 4.0"); |
1251 | return 0; | 1251 | return 0; |
1252 | } | 1252 | } |
@@ -1257,7 +1257,7 @@ int sed_main(int argc, char **argv) | |||
1257 | "nn"; /* count -n */ | 1257 | "nn"; /* count -n */ |
1258 | opt = getopt32(argv, "irne:f:", &opt_e, &opt_f, | 1258 | opt = getopt32(argv, "irne:f:", &opt_e, &opt_f, |
1259 | &G.be_quiet); /* counter for -n */ | 1259 | &G.be_quiet); /* counter for -n */ |
1260 | argc -= optind; | 1260 | //argc -= optind; |
1261 | argv += optind; | 1261 | argv += optind; |
1262 | if (opt & OPT_in_place) { // -i | 1262 | if (opt & OPT_in_place) { // -i |
1263 | atexit(cleanup_outname); | 1263 | atexit(cleanup_outname); |
@@ -1283,10 +1283,9 @@ int sed_main(int argc, char **argv) | |||
1283 | } | 1283 | } |
1284 | /* if we didn't get a pattern from -e or -f, use argv[0] */ | 1284 | /* if we didn't get a pattern from -e or -f, use argv[0] */ |
1285 | if (!(opt & 0x18)) { | 1285 | if (!(opt & 0x18)) { |
1286 | if (!argc) | 1286 | if (!*argv) |
1287 | bb_show_usage(); | 1287 | bb_show_usage(); |
1288 | add_cmd_block(*argv++); | 1288 | add_cmd_block(*argv++); |
1289 | argc--; | ||
1290 | } | 1289 | } |
1291 | /* Flush any unfinished commands. */ | 1290 | /* Flush any unfinished commands. */ |
1292 | add_cmd(""); | 1291 | add_cmd(""); |
@@ -1306,7 +1305,7 @@ int sed_main(int argc, char **argv) | |||
1306 | int i; | 1305 | int i; |
1307 | FILE *file; | 1306 | FILE *file; |
1308 | 1307 | ||
1309 | for (i = 0; i < argc; i++) { | 1308 | for (i = 0; argv[i]; i++) { |
1310 | struct stat statbuf; | 1309 | struct stat statbuf; |
1311 | int nonstdoutfd; | 1310 | int nonstdoutfd; |
1312 | 1311 | ||