summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--linenoise/linenoise.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c
index 524324e4..50422e50 100644
--- a/linenoise/linenoise.c
+++ b/linenoise/linenoise.c
@@ -1666,6 +1666,9 @@ static void edit_in_editor(lino_t *l) {
FILE *fi;
int nread;
+ fclose(fo);
+ fo = 0;
+
if (system(cmd) == 0 && (fi = fopen(path, "r")) != 0) {
nread = fread(l->data, 1, sizeof l->data - 1, fi);
fclose(fi);
@@ -1682,7 +1685,9 @@ static void edit_in_editor(lino_t *l) {
}
}
- fclose(fo);
+ if (fo != 0)
+ fclose(fo);
+
remove(path);
clear_sel(l);
}