Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
zsh 3.0.0 and gcc 1.42 bug
- X-seq: zsh-workers 3001
- From: Keith Bostic <bostic@xxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxxx
- Subject: zsh 3.0.0 and gcc 1.42 bug
- Date: Tue, 18 Mar 1997 09:12:18 -0700 (MST)
FYI, the following code in zsh-3.0.0/Src/subst.c:
ifdef HAVE_STRCOLL
# ifdef __GNUC__
char c[strlen(*(char **) a) + 1];
char d[strlen(*(char **) b) + 1];
# else
char *c = halloc(strlen(*(char **) a) + 1);
char *d = halloc(strlen(*(char **) b) + 1);
# endif
doesn't work under gcc 1.42. I've attached a test program. If
you flip the #if value, and compile with gcc 1.42, it will fail
or succeed.
We're switching to gcc 2 for everything RSN, but figured I'd
mention it in case you guys care.
--keith
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
int
cstrpcmp(const void *a, const void *b)
{
#if 1
char c[strlen(*(char **) a) + 1];
char d[strlen(*(char **) b) + 1];
#else
char c[20];
char d[20];
#endif
char *s, *t;
for (s = *(char **) a, t = c; (*t++ = tolower(*s++)););
for (s = *(char **) b, t = d; (*t++ = tolower(*s++)););
return (strcmp(c, d));
}
main()
{
char *a, *b;
a = "HUP";
b = "HUP";
printf("%d\n", cstrpcmp(&a, &b));
}
Messages sorted by:
Reverse Date,
Date,
Thread,
Author