diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2010-11-18 23:00:31 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2010-11-18 23:00:31 +0200 |
commit | 6f3612539c425da2bc1d34db621696e6a273b01c (patch) | |
tree | 9623b3ac2c54a93e5eed3be2b1dda7f4e4bf0e47 /pc/popen.c | |
parent | 4e3701015635401df2fc4da58abaab7645f4ebd3 (diff) | |
download | egawk-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.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -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); } |