From: Ed Osinski <osinski@cs.nyu.edu>
To: zsh-workers@sunsite.auc.dk
Subject: gawk problem during build, and patches
Date: Fri, 6 Aug 1999 19:31:07 -0400 [thread overview]
Message-ID: <19990806193107.B29273@valis.NYU.EDU> (raw)
While building zsh 3.0.6, I got the following:
gawk -f ./rlimits.awk /usr/include/sys/resource.h > rlimits.h
gcc -c -I.. -I. -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -Wall -Wno-implicit -Wmissing-prototypes -O2 builtin.c
In file included from builtin.c:3679:
rlimits.h:7: parse error at null character
When I looked at rlimits.h, I see:
-----------------------------------------------------------
/** rlimits.h **/
/** architecture-customized limits for zsh **/
#define ZSH_NLIMITS 7
static char *recs[ZSH_NLIMITS+1] = {
\0cputime\0,
\0filesize\0,
\0datasize\0,
\0stacksize\0,
\0coredumpsize\0,
\0descriptors\0,
\0vmemorysize\0,
NULL
};
-----------------------------------------------------------
signames.h had similar problems. The culprits were lines like
printf("\t%c%s%c,\n", 034, lim[i], 034)
in the .awk files. Somehow, the 034 was not being interpreted as a
quote ("). I have gawk 3.0.4 installed, but I see that I configured
it with the --enable-non-decimal-data switch. I assume this means
that 034 is taken to be an octal number, which is not intended. I
changed the .awk files to just use \" in the format string instead of
%c and a parameter. I've included patches below. (I'm not a
subscriber to the list, so if there are any problems, please send me
email.)
- Ed
-----------------------------------------------------------
*** Src/rlimits.awk~ Wed Apr 28 01:21:43 1999
--- Src/rlimits.awk Fri Aug 6 18:51:54 1999
***************
*** 63,69 ****
if (msg[i] == "") {
badlimit++
! printf("\t%c%s%c,\n", 034, lim[i], 034)
} else
! printf("\t%c%s%c,\n", 034, msg[i], 034)
print "\tNULL"
print "};"
--- 63,69 ----
if (msg[i] == "") {
badlimit++
! printf("\t\"%s\",\n", lim[i])
} else
! printf("\t\"%s\",\n", msg[i])
print "\tNULL"
print "};"
-----------------------------------------------------------
*** Src/signames.awk~ Wed Apr 28 01:21:45 1999
--- Src/signames.awk Fri Aug 6 18:54:32 1999
***************
*** 52,63 ****
END {
ps = "%s"
! ifdstr = sprintf("#ifdef USE_SUSPENDED\n\t%csuspended%s%c,\n%selse\n\t%cstopped%s%c,\n#endif\n", 034, ps, 034, "#", 034, ps, 034)
! printf("%s\n%s\n\n%s\t%d\n\n%s\n\n%s\n\t%c%s%c,\n", "/** signals.h **/", "/** architecture-customized signals.h for zsh **/", "#define SIGCOUNT", max, "#ifdef GLOBALS", "char *sigmsg[SIGCOUNT+2] = {", 034, "done", 034)
for (i = 1; i <= 0 + max; i++)
if (msg[i] == "") {
if (sig[i] == "")
! printf("\t%c%c,\n", 034, 034)
else if (sig[i] == "STOP")
printf ifdstr, " (signal)", " (signal)"
--- 52,63 ----
END {
ps = "%s"
! ifdstr = sprintf("#ifdef USE_SUSPENDED\n\t\"suspended%s\",\n%selse\n\t\"stopped%s\",\n#endif\n", ps, "#", ps)
! printf("%s\n%s\n\n%s\t%d\n\n%s\n\n%s\n\t\"%s\",\n", "/** signals.h **/", "/** architecture-customized signals.h for zsh **/", "#define SIGCOUNT", max, "#ifdef GLOBALS", "char *sigmsg[SIGCOUNT+2] = {", "done")
for (i = 1; i <= 0 + max; i++)
if (msg[i] == "") {
if (sig[i] == "")
! printf "\t\"\",\n"
else if (sig[i] == "STOP")
printf ifdstr, " (signal)", " (signal)"
***************
*** 69,87 ****
printf ifdstr, " (tty output)", " (tty output)"
else
! printf("\t%cSIG%s%c,\n", 034, sig[i], 034)
} else
! printf("\t%c%s%c,\n", 034, msg[i], 034)
print "\tNULL"
print "};"
print ""
printf "char *sigs[SIGCOUNT+4] = {\n"
! printf("\t%cEXIT%c,\n", 034, 034)
for (i = 1; i <= 0 + max; i++)
if (sig[i] == "")
! printf("\t%c%d%c,\n", 034, i, 034)
else
! printf("\t%c%s%c,\n", 034, sig[i], 034)
! printf("\t%cZERR%c,\n", 034, 034)
! printf("\t%cDEBUG%c,\n", 034, 034)
print "\tNULL"
print "};"
--- 69,87 ----
printf ifdstr, " (tty output)", " (tty output)"
else
! printf("\t\"SIG%s\",\n", sig[i])
} else
! printf("\t\"%s\",\n", msg[i])
print "\tNULL"
print "};"
print ""
printf "char *sigs[SIGCOUNT+4] = {\n"
! printf "\t\"EXIT\",\n"
for (i = 1; i <= 0 + max; i++)
if (sig[i] == "")
! printf("\t\"%d\",\n", i)
else
! printf("\t\"%s\",\n", sig[i])
! printf "\t\"ZERR\",\n"
! printf "\t\"DEBUG\",\n"
print "\tNULL"
print "};"
-----------------------------------------------------------
next reply other threads:[~1999-08-06 23:31 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-08-06 23:31 Ed Osinski [this message]
1999-08-07 7:00 ` Geoff Wing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19990806193107.B29273@valis.NYU.EDU \
--to=osinski@cs.nyu.edu \
--cc=zsh-workers@sunsite.auc.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).