From 90c88e53dfc419497f031903528e007a6f685661 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Tue, 15 Feb 2000 16:44:54 +0000 Subject: zsh-workers/9750 --- Src/Modules/parameter.c | 6 +++--- Src/jobs.c | 14 +++++++------- Src/signames2.awk | 5 ++++- 3 files changed, 14 insertions(+), 11 deletions(-) (limited to 'Src') diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index 3bd7e51b4..9bb39baf9 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -1230,12 +1230,12 @@ pmjobstate(int job) else state = "done"; } else if (WIFSTOPPED(pn->status)) - state = sigmsg[WSTOPSIG(pn->status)]; + state = sigmsg(WSTOPSIG(pn->status)); else if (WCOREDUMP(pn->status)) sprintf((state = buf2), "%s (core dumped)", - sigmsg[WTERMSIG(pn->status)]); + sigmsg(WTERMSIG(pn->status))); else - state = sigmsg[WTERMSIG(pn->status)]; + state = sigmsg(WTERMSIG(pn->status)); sprintf(buf, ":%d=%s", pn->pid, state); diff --git a/Src/jobs.c b/Src/jobs.c index d519da00c..3af0c3b54 100644 --- a/Src/jobs.c +++ b/Src/jobs.c @@ -615,7 +615,7 @@ printjob(Job jn, int lng, int synch) if (pn->status != SP_RUNNING) { if (WIFSIGNALED(pn->status)) { sig = WTERMSIG(pn->status); - llen = strlen(sigmsg[sig]); + llen = strlen(sigmsg(sig)); if (WCOREDUMP(pn->status)) llen += 14; if (llen > len) @@ -626,8 +626,8 @@ printjob(Job jn, int lng, int synch) doputnl = 1; } else if (WIFSTOPPED(pn->status)) { sig = WSTOPSIG(pn->status); - if ((int)strlen(sigmsg[sig]) > len) - len = strlen(sigmsg[sig]); + if ((int)strlen(sigmsg(sig)) > len) + len = strlen(sigmsg(sig)); if (job == thisjob && sig == SIGTSTP) doputnl = 1; } else if (isset(PRINTEXITVALUE) && isset(SHINSTDIN) && @@ -695,13 +695,13 @@ printjob(Job jn, int lng, int synch) else fprintf(fout, "done%*s", len - 4 + 2, ""); } else if (WIFSTOPPED(pn->status)) - fprintf(fout, "%-*s", len + 2, sigmsg[WSTOPSIG(pn->status)]); + fprintf(fout, "%-*s", len + 2, sigmsg(WSTOPSIG(pn->status))); else if (WCOREDUMP(pn->status)) fprintf(fout, "%s (core dumped)%*s", - sigmsg[WTERMSIG(pn->status)], - (int)(len - 14 + 2 - strlen(sigmsg[WTERMSIG(pn->status)])), ""); + sigmsg(WTERMSIG(pn->status)), + (int)(len - 14 + 2 - strlen(sigmsg(WTERMSIG(pn->status)))), ""); else - fprintf(fout, "%-*s", len + 2, sigmsg[WTERMSIG(pn->status)]); + fprintf(fout, "%-*s", len + 2, sigmsg(WTERMSIG(pn->status))); for (; pn != qn; pn = pn->next) fprintf(fout, (pn->next) ? "%s | " : "%s", pn->text); putc('\n', fout); diff --git a/Src/signames2.awk b/Src/signames2.awk index dbc7b71d0..1ad189b3f 100644 --- a/Src/signames2.awk +++ b/Src/signames2.awk @@ -63,7 +63,10 @@ END { printf "#include %czsh.mdh%c\n", 34, 34 printf "\n" printf "/**/\n" - printf "mod_export char *sigmsg[SIGCOUNT+2] = {\n" + printf "#define sigmsg(sig) ((sig) <= SIGCOUNT ? sig_msg[sig] : %c%s%c)", 34, "unknown signal", 34 + printf "\n" + printf "/**/\n" + printf "mod_export char *sig_msg[SIGCOUNT+2] = {\n" printf "\t%c%s%c,\n", 34, "done", 34 for (i = 1; i <= 0 + max; i++) -- cgit 1.4.1