diff -r gawk-3.0.4.orig/builtin.c gawk-3.0.4/builtin.c
462c462,468
< 			zero_flag = TRUE;
---
> 			/*
> 			 * Only turn on zero_flag if we haven't seen
> 			 * the field width or precision yet.  Otherwise,
> 			 * screws up floating point formatting.
> 			 */
> 			if (cur == & fw && fw == 0)
> 				zero_flag = TRUE;
Only in gawk-3.0.4: builtin.c.orig
Only in gawk-3.0.4.orig: builtin.o
diff -r gawk-3.0.4.orig/dfa.c gawk-3.0.4/dfa.c
2415c2415
< 	case RPAREN:
---
> Icase RPAREN:
diff -r gawk-3.0.4.orig/pc/popen.c gawk-3.0.4/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, 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))
>       cmd = NULL; 
>   } else
>     cmd = NULL;
