about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@zsh.org>2024-03-04 21:39:29 -0800
committerBart Schaefer <schaefer@zsh.org>2024-03-04 21:39:29 -0800
commitc0a392b3924951a316f7183e89afd302c5f680e8 (patch)
tree11b98f337d4434313d1e9c3d4569b0aa26f63afb
parentd27ea2ae02275b255f9efbf929d1dc7932aebc57 (diff)
downloadzsh-c0a392b3924951a316f7183e89afd302c5f680e8.tar.gz
zsh-c0a392b3924951a316f7183e89afd302c5f680e8.tar.xz
zsh-c0a392b3924951a316f7183e89afd302c5f680e8.zip
unposted (cf. 52615): use META_NOALLOC for 52591
-rw-r--r--ChangeLog2
-rw-r--r--Src/builtin.c10
2 files changed, 7 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 6dc3e32ee..b4ebfedbc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2024-03-04  Bart Schaefer  <schaefer@zsh.org>
 
+	* unposted (cf. 52615): Src/builtin.c: use META_NOALLOC for 52591
+
 	* unposted (cf. 52617): Src/params.c: only scalars can instantiate
 	a declared named reference
 
diff --git a/Src/builtin.c b/Src/builtin.c
index 0aae1fcde..6f98990f9 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -5255,7 +5255,7 @@ bin_print(char *name, char **args, Options ops, int func)
 		    }
 		}
 		if (*argp) {
-		    width = (int)mathevali(metafy(*argp, len[argp - args], META_USEHEAP));
+		    width = (int)mathevali(metafy(*argp, len[argp - args], META_NOALLOC));
 		    argp++;
 		    if (errflag) {
 			errflag &= ~ERRFLAG_ERROR;
@@ -5290,7 +5290,7 @@ bin_print(char *name, char **args, Options ops, int func)
 		    }
 
 		    if (*argp) {
-			prec = (int)mathevali(metafy(*argp, len[argp - args], META_USEHEAP));
+			prec = (int)mathevali(metafy(*argp, len[argp - args], META_NOALLOC));
 			argp++;
 			if (errflag) {
 			    errflag &= ~ERRFLAG_ERROR;
@@ -5403,7 +5403,7 @@ bin_print(char *name, char **args, Options ops, int func)
 		break;
 	    case 'q':
 		stringval = curarg ?
-		    quotestring(metafy(curarg, curlen, META_USEHEAP),
+		    quotestring(metafy(curarg, curlen, META_NOALLOC),
 				QT_BACKSLASH_SHOWNULL) : &nullstr;
 		*d = 's';
 		print_val(unmetafy(stringval, &curlen));
@@ -5475,7 +5475,7 @@ bin_print(char *name, char **args, Options ops, int func)
  		    	*d++ = 'l';
 #endif
 		    	*d++ = 'l', *d++ = *c, *d = '\0';
-			zlongval = (curarg) ? mathevali(metafy(curarg, curlen, META_HEAPDUP)) : 0;
+			zlongval = (curarg) ? mathevali(metafy(curarg, curlen, META_NOALLOC)) : 0;
 			if (errflag) {
 			    zlongval = 0;
 			    errflag &= ~ERRFLAG_ERROR;
@@ -5526,7 +5526,7 @@ bin_print(char *name, char **args, Options ops, int func)
 			if (!curarg)
 			    zulongval = (zulong)0;
 			else if (!zstrtoul_underscore(curarg, &zulongval))
-			    zulongval = mathevali(metafy(curarg, curlen, META_HEAPDUP));
+			    zulongval = mathevali(metafy(curarg, curlen, META_NOALLOC));
 			if (errflag) {
 			    zulongval = 0;
 			    errflag &= ~ERRFLAG_ERROR;