sed: show specific error strings (strerror) and minor style fixes

This commit is contained in:
Hiltjo Posthuma 2015-03-27 15:59:09 +01:00
parent fea0a34e13
commit 0547e72441
1 changed files with 13 additions and 13 deletions

26
sed.c
View File

@ -260,7 +260,6 @@ Fninfo fns[] = {
[0x7f] = { NULL, NULL, NULL, 0 }, /* index is checked with isascii(3p). fill out rest of array */ [0x7f] = { NULL, NULL, NULL, 0 }, /* index is checked with isascii(3p). fill out rest of array */
}; };
/* /*
* Function Definitions * Function Definitions
*/ */
@ -385,7 +384,7 @@ compile(char *s, int isfile)
f = isfile ? fopen(s, "r") : fmemopen(s, strlen(s), "r"); f = isfile ? fopen(s, "r") : fmemopen(s, strlen(s), "r");
if (!f) if (!f)
eprintf("fopen/fmemopen failed\n"); eprintf("fopen/fmemopen:");
/* NOTE: get arg functions can't use genbuf */ /* NOTE: get arg functions can't use genbuf */
while (read_line(f, &genbuf) != EOF) { while (read_line(f, &genbuf) != EOF) {
@ -435,7 +434,7 @@ compile(char *s, int isfile)
} }
if (fclose(f)) if (fclose(f))
weprintf("fclose failed\n"); weprintf("fclose:");
} }
/* FIXME: if we decide to honor lack of trailing newline, set/clear a global /* FIXME: if we decide to honor lack of trailing newline, set/clear a global
@ -788,6 +787,7 @@ get_bt_arg(Cmd *c, char *s)
} }
push(&branches, (void *)(c - prog)); push(&branches, (void *)(c - prog));
return p; return p;
} }
@ -940,7 +940,6 @@ get_w_arg(Cmd *c, char *s)
if (p == s) if (p == s)
leprintf("no file name"); leprintf("no file name");
/* man -Wsigncompare is annoying */
for (wp = (Wfile **)wfiles.data; (size_t)(wp - (Wfile **)wfiles.data) < wfiles.size; wp++) { for (wp = (Wfile **)wfiles.data; (size_t)(wp - (Wfile **)wfiles.data) < wfiles.size; wp++) {
if (strlen((*wp)->path) == (size_t)(p - s) && !strncmp(s, (*wp)->path, p - s)) { if (strlen((*wp)->path) == (size_t)(p - s) && !strncmp(s, (*wp)->path, p - s)) {
c->u.file = (*wp)->file; c->u.file = (*wp)->file;
@ -1122,7 +1121,7 @@ next_file(void)
if (file == stdin) if (file == stdin)
clearerr(file); clearerr(file);
else if (file && fclose(file)) else if (file && fclose(file))
weprintf("fclose failed\n"); weprintf("fclose:");
file = NULL; file = NULL;
do { do {
@ -1135,7 +1134,7 @@ next_file(void)
files++; files++;
} else if (!(file = fopen(*files++, "r"))) { } else if (!(file = fopen(*files++, "r"))) {
/* warn this file didn't open, but move on to next */ /* warn this file didn't open, but move on to next */
weprintf("fopen failed\n"); weprintf("fopen:");
} }
} while (!file && *files); } while (!file && *files);
first = 0; first = 0;
@ -1153,9 +1152,9 @@ is_eof(FILE *f)
c = fgetc(f); c = fgetc(f);
if (c == EOF && ferror(f)) if (c == EOF && ferror(f))
eprintf("fgetc failed\n"); eprintf("fgetc:");
if (c != EOF && ungetc(c, f) == EOF) if (c != EOF && ungetc(c, f) == EOF)
eprintf("ungetc failed\n"); eprintf("ungetc EOF\n");
return c == EOF; return c == EOF;
} }
@ -1191,16 +1190,16 @@ write_file(char *path, FILE *out)
check_puts(genbuf.str, out); check_puts(genbuf.str, out);
if (fclose(in)) if (fclose(in))
weprintf("fclose failed\n"); weprintf("fclose:");
} }
void void
check_puts(char *s, FILE *f) check_puts(char *s, FILE *f)
{ {
if (s && fputs(s, f) == EOF) if (s && fputs(s, f) == EOF)
eprintf("fputs failed\n"); eprintf("fputs:");
if (fputs("\n", f) == EOF) if (fputs("\n", f) == EOF)
eprintf("fputs failed\n"); eprintf("fputs:");
} }
/* iterate from beg to end updating ranges so we don't miss any commands /* iterate from beg to end updating ranges so we don't miss any commands
@ -1354,7 +1353,7 @@ cmd_l(Cmd *c)
while (fwrite(p, rlen, 1, stdout) < 1 && errno == EINTR) while (fwrite(p, rlen, 1, stdout) < 1 && errno == EINTR)
; ;
if (ferror(stdout)) if (ferror(stdout))
eprintf("fwrite failed\n"); eprintf("fwrite:");
} }
} }
check_puts("$", stdout); check_puts("$", stdout);
@ -1659,7 +1658,8 @@ new_line(void)
* input, but GNU does so busybox does as well. Currently we don't. * input, but GNU does so busybox does as well. Currently we don't.
* Should we? * Should we?
*/ */
void app_line(void) void
app_line(void)
{ {
while (read_line(file, &genbuf) == EOF) { while (read_line(file, &genbuf) == EOF) {
if (next_file()) { if (next_file()) {