Fix error return value from read_history() and write_history()

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson 2020-01-05 07:14:58 +01:00
parent 81840c0f84
commit deb2884310

View File

@ -1603,39 +1603,38 @@ int read_history(const char *filename)
char buf[SCREEN_INC]; char buf[SCREEN_INC];
hist_alloc(); hist_alloc();
fp = fopen(filename, "r"); fp = fopen(filename, "r");
if (fp) { if (!fp)
H.Size = 0; return EOF;
while (H.Size < el_hist_size) {
if (!fgets(buf, SCREEN_INC, fp))
break;
buf[strlen(buf) - 1] = 0; /* Remove '\n' */ H.Size = 0;
add_history(buf); 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) int write_history(const char *filename)
{ {
FILE *fp; FILE *fp;
int i = 0;
hist_alloc(); hist_alloc();
fp = fopen(filename, "w"); fp = fopen(filename, "w");
if (fp) { if (!fp)
int i = 0; return EOF;
while (i < H.Size) while (i < H.Size)
fprintf(fp, "%s\n", H.Lines[i++]); fprintf(fp, "%s\n", H.Lines[i++]);
return fclose(fp); return fclose(fp);
}
return errno;
} }
/* /*