From deb2884310fc6225b1f61c1017966da03fbb753d Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Sun, 5 Jan 2020 07:14:58 +0100 Subject: [PATCH] Fix error return value from read_history() and write_history() Signed-off-by: Joachim Nilsson --- src/editline.c | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/src/editline.c b/src/editline.c index 41aec64..b9f6ba3 100644 --- a/src/editline.c +++ b/src/editline.c @@ -1603,39 +1603,38 @@ int read_history(const char *filename) char buf[SCREEN_INC]; hist_alloc(); + fp = fopen(filename, "r"); - if (fp) { - H.Size = 0; - while (H.Size < el_hist_size) { - if (!fgets(buf, SCREEN_INC, fp)) - break; + if (!fp) + return EOF; - buf[strlen(buf) - 1] = 0; /* Remove '\n' */ - add_history(buf); - } + H.Size = 0; + while (H.Size < el_hist_size) { + if (!fgets(buf, SCREEN_INC, fp)) + break; - return fclose(fp); + buf[strlen(buf) - 1] = 0; /* Remove '\n' */ + add_history(buf); } - return errno; + return fclose(fp); } int write_history(const char *filename) { FILE *fp; + int i = 0; hist_alloc(); + fp = fopen(filename, "w"); - if (fp) { - int i = 0; + if (!fp) + return EOF; - while (i < H.Size) - fprintf(fp, "%s\n", H.Lines[i++]); + while (i < H.Size) + fprintf(fp, "%s\n", H.Lines[i++]); - return fclose(fp); - } - - return errno; + return fclose(fp); } /*