From 9a17de569a49b376068a210073885c97530a79cd Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Thu, 13 Jun 2019 13:07:52 -0700 Subject: [PATCH] sed: Print better error message when open fails --- sed.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/sed.c b/sed.c index 532361f..1062ddd 100644 --- a/sed.c +++ b/sed.c @@ -370,12 +370,17 @@ compile(char *s, int isfile) { FILE *f; - if (!isfile && !*s) /* empty string script */ - return; - - f = isfile ? fopen(s, "r") : fmemopen(s, strlen(s), "r"); - if (!f) - eprintf("fopen/fmemopen:"); + if (isfile) { + f = fopen(s, "r"); + if (!f) + eprintf("fopen %s:", s); + } else { + if (!*s) /* empty string script */ + return; + f = fmemopen(s, strlen(s), "r"); + if (!f) + eprintf("fmemopen:"); + } /* NOTE: get arg functions can't use genbuf */ while (read_line(f, &genbuf) != EOF) {