summaryrefslogtreecommitdiff
path: root/Src/params.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/Src/params.c b/Src/params.c
index 225acb8a1..7c5e9d8ff 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -946,8 +946,18 @@ createparamtable(void)
setsparam("ZSH_ARGZERO", ztrdup(posixzero));
setsparam("ZSH_VERSION", ztrdup_metafy(ZSH_VERSION));
setsparam("ZSH_PATCHLEVEL", ztrdup_metafy(ZSH_PATCHLEVEL));
- setaparam("signals", sigptr = zalloc((SIGCOUNT+4) * sizeof(char *)));
- for (t = sigs; (*sigptr++ = ztrdup_metafy(*t++)); );
+ setaparam("signals", sigptr = zalloc((TRAPCOUNT + 1) * sizeof(char *)));
+ t = sigs;
+#if defined(SIGRTMIN) && defined(SIGRTMAX)
+ while (t - sigs <= SIGCOUNT)
+ *sigptr++ = ztrdup_metafy(*t++);
+ {
+ int sig;
+ for (sig = SIGRTMIN; sig <= SIGRTMAX; sig++)
+ *sigptr++ = ztrdup_metafy(rtsigname(sig, 0));
+ }
+#endif
+ while ((*sigptr++ = ztrdup_metafy(*t++))) /* empty */ ;
noerrs = 0;
}