about summary refs log tree commit diff
path: root/Src/builtin.c
diff options
context:
space:
mode:
authorOliver Kiddle <okiddle@yahoo.co.uk>2018-05-13 10:13:42 +0200
committerOliver Kiddle <okiddle@yahoo.co.uk>2018-05-13 10:13:42 +0200
commita93abe1170a438d45d94b3a7f924553f5cf69cee (patch)
tree95cc9a6832acc5ece693389209531eeefdc10f88 /Src/builtin.c
parent373efa085dcea5fe6b4539cd875b6bd8645f16fa (diff)
downloadzsh-a93abe1170a438d45d94b3a7f924553f5cf69cee.tar.gz
zsh-a93abe1170a438d45d94b3a7f924553f5cf69cee.tar.xz
zsh-a93abe1170a438d45d94b3a7f924553f5cf69cee.zip
42488: test cases for 42369 and address some issues in the code
Diffstat (limited to 'Src/builtin.c')
-rw-r--r--Src/builtin.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index 73cfe7ad1..931605c6e 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -5234,8 +5234,14 @@ bin_print(char *name, char **args, Options ops, int func)
 			    errflag &= ~ERRFLAG_ERROR;
 			    ret = 1;
 			}
-			print_val(doubleval)
-			    break;
+			/* force consistent form for Inf/NaN output */
+			if (isnan(doubleval))
+			    count += fputs("nan", fout);
+			else if (isinf(doubleval))
+			    count += fputs((doubleval < 0.0) ? "-inf" : "inf", fout);
+		        else
+			    print_val(doubleval)
+			break;
 		    case 3:
 #ifdef ZSH_64_BIT_UTYPE
  		    	*d++ = 'l';