aboutsummaryrefslogtreecommitdiffstats
path: root/pc/popen.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-11-18 23:00:31 +0200
committerArnold D. Robbins <arnold@skeeve.com>2010-11-18 23:00:31 +0200
commit6f3612539c425da2bc1d34db621696e6a273b01c (patch)
tree9623b3ac2c54a93e5eed3be2b1dda7f4e4bf0e47 /pc/popen.c
parent4e3701015635401df2fc4da58abaab7645f4ebd3 (diff)
downloadegawk-6f3612539c425da2bc1d34db621696e6a273b01c.tar.gz
egawk-6f3612539c425da2bc1d34db621696e6a273b01c.tar.bz2
egawk-6f3612539c425da2bc1d34db621696e6a273b01c.zip
Bring latest byte code gawk into git. Hurray!
Diffstat (limited to 'pc/popen.c')
-rw-r--r--pc/popen.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/pc/popen.c b/pc/popen.c
index 287b0b9b..3410e2ca 100644
--- a/pc/popen.c
+++ b/pc/popen.c
@@ -87,8 +87,10 @@ scriptify(const char *command)
slashify(name, p);
if (! (i = unixshell(p))) {
char *p = (char *) realloc(name, strlen(name) + 5);
- if (p == NULL)
+ if (p == NULL) {
+ free(cmd);
return NULL;
+ }
name = p;
strcat(name, ".bat");
}
@@ -98,10 +100,14 @@ scriptify(const char *command)
if ((fp = fopen(p, i ? "wb" : "w")) != NULL) {
if (! i) fputs("@echo off\n", fp);
i = strlen(command);
- if ((fwrite(command, 1, i, fp) < i) || (fputc('\n', fp) == EOF))
+ if ((fwrite(command, 1, i, fp) < i) || (fputc('\n', fp) == EOF)) {
+ free(cmd);
cmd = NULL;
- } else
+ {
+ } else {
+ free(cmd);
cmd = NULL;
+ }
if (fp) fclose(fp);
return(cmd);
}