diff options
Diffstat (limited to 'lib/libedit/el.c')
-rw-r--r-- | lib/libedit/el.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libedit/el.c b/lib/libedit/el.c index 305a51d..f163ec8 100644 --- a/lib/libedit/el.c +++ b/lib/libedit/el.c @@ -301,12 +301,16 @@ el_source(el, fname) if ((fp = fopen(fname, "r")) == NULL) return -1; - while ((ptr = fgetln(fp, &len)) != NULL) - ptr[len - 1] = '\0'; + while ((ptr = fgetln(fp, &len)) != NULL) { + if (ptr[len - 1] == '\n') + --len; + ptr[len] = '\0'; + if (parse_line(el, ptr) == -1) { (void) fclose(fp); return -1; } + } (void) fclose(fp); return 0; |