summaryrefslogtreecommitdiffstats
path: root/Src/zsh.h
diff options
context:
space:
mode:
authorPhilippe Altherr <philippe.altherr@gmail.com>2025-11-19 15:25:29 +0100
committerOliver Kiddle <opk@zsh.org>2025-11-24 23:18:26 +0100
commit8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4 (patch)
treebd9110ae128404cfb70ae0a819d888690b9ff6c9 /Src/zsh.h
parent54104: fix bug with packing strings into wordcode (diff)
downloadzsh-8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4.tar
zsh-8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4.tar.gz
zsh-8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4.tar.bz2
zsh-8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4.tar.lz
zsh-8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4.tar.xz
zsh-8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4.tar.zst
zsh-8a3ee5a802a89fd12ddc2741d8ac785bb4169bf4.zip
54093 (tweaked per 54101): Cleanup isarr fields and variables
Diffstat (limited to 'Src/zsh.h')
-rw-r--r--Src/zsh.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/Src/zsh.h b/Src/zsh.h
index fb7f6165d..5bda04e88 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -744,8 +744,12 @@ struct multio {
struct value {
Param pm; /* parameter node */
char **arr; /* cache for hash turned into array */
- int isarr;
- int flags; /* flags defined below */
+ int scanflags; /* set of SCANPM flags as well as an is-array
+ * marker. The field must be non-zero iff the
+ * value struct represents an array or an
+ * associative array. For plain arrays, use
+ * SCANPM_ARRONLY. */
+ int valflags; /* flags defined below */
int start; /* first element of array slice, or -1 */
int end; /* 1-rel last element of array slice, or -1 */
};
@@ -1965,11 +1969,7 @@ struct tieddata {
#define SCANPM_NOEXEC (1<<11) /* No command substitutions, etc. */
#define SCANPM_NONAMESPC (1<<12) /* namespace syntax not allowed */
#define SCANPM_NONAMEREF (1<<13) /* named references are not followed */
-
-/* "$foo[@]"-style substitution
- * Only sign bit is significant
- */
-#define SCANPM_ISVAR_AT ((int)(((unsigned int)-1)<<15))
+#define SCANPM_ISVAR_AT (1<<14) /* "$foo[@]"-style substitution */
/*
* Flags for doing matches inside parameter substitutions, i.e.