summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 1f558f7284..e57e88a167 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -998,10 +998,14 @@ char *message;
}
fputs(message, stderr);
(void)Fflush(stderr);
- if (e_fp) {
- fclose(e_fp);
- e_fp = Nullfp;
+ if (e_tmpname) {
+ if (e_fp) {
+ fclose(e_fp);
+ e_fp = Nullfp;
+ }
(void)UNLINK(e_tmpname);
+ Safefree(e_tmpname);
+ e_tmpname = Nullch;
}
statusvalue = SHIFTSTATUS(statusvalue);
#ifdef VMS
@@ -1160,7 +1164,7 @@ const void *b;
GvSV(secondgv) = *str2;
stack_sp = stack_base;
op = sortcop;
- run();
+ runops();
if (stack_sp != stack_base + 1)
croak("Sort subroutine didn't return single value");
if (!SvNIOKp(*stack_sp))