diff -r gawk-3.0.6.orig/pc/popen.c gawk-3.0.6/pc/popen.c
93c93
<   if (! unixshell(p)) {
---
>   if (! (i = unixshell(p))) {
100,104c100,106
<   i = strlen(command);
<   if ( ((fp = fopen(p, "wb")) == NULL) || (fwrite(command, 1, i, fp) < i)
<        || (fputc('\n', fp) == EOF)) {
<     cmd = NULL; 
<   }
---
>   if ((fp = fopen(p, "wb")) != NULL) {
>     if (! i) fputs("@echo off\n", fp);
>     i = strlen(command);
>     if ((fwrite(command, 1, i, fp) < i) || (fputc('\n', fp) == EOF))
>       cmd = NULL; 
>   } else
>     cmd = NULL;
