54104: fix bug with packing strings into wordcode

This commit is contained in:
Oliver Kiddle
2025-11-24 22:21:54 +01:00
parent f51fed9dda
commit 735afc8e8a
3 changed files with 7 additions and 2 deletions

View File

@@ -1,5 +1,8 @@
2025-11-24 Oliver Kiddle <opk@zsh.org>
* 54104: Src/parse.c, Src/zsh.h: fix bug with packing strings
into wordcode
* 54103: Src/builtin.c, Src/parse.c, Test/C02cond.ztst:
support > and < comparisons via the test builtin

View File

@@ -446,7 +446,9 @@ ecstrcode(char *s)
long cmp;
for (pp = &ecstrs; (p = *pp); ) {
if (!(cmp = p->nfunc - ecnfunc) && !(cmp = (((long)p->hashval) - ((long)val))) && !(cmp = strcmp(p->str, s))) {
if (!(cmp = p->nfunc - ecnfunc) &&
!(cmp = (int) (p->hashval - val)) &&
!(cmp = strcmp(p->str, s))) {
/* Re-use the existing string. */
return p->offs;
}

View File

@@ -850,7 +850,7 @@ struct eccstr {
int nfunc;
/* Hash of str. */
int hashval;
unsigned hashval;
};
/*