diff options
Diffstat (limited to 'Src/Modules')
-rw-r--r-- | Src/Modules/curses.c | 36 | ||||
-rw-r--r-- | Src/Modules/datetime.c | 2 | ||||
-rw-r--r-- | Src/Modules/db_gdbm.c | 2 | ||||
-rw-r--r-- | Src/Modules/files.c | 2 | ||||
-rw-r--r-- | Src/Modules/langinfo.c | 2 | ||||
-rw-r--r-- | Src/Modules/mapfile.c | 2 | ||||
-rw-r--r-- | Src/Modules/mathfunc.c | 6 | ||||
-rw-r--r-- | Src/Modules/newuser.c | 4 | ||||
-rw-r--r-- | Src/Modules/param_private.c | 20 | ||||
-rw-r--r-- | Src/Modules/parameter.c | 7 | ||||
-rw-r--r-- | Src/Modules/pcre.c | 4 | ||||
-rw-r--r-- | Src/Modules/regex.c | 2 | ||||
-rw-r--r-- | Src/Modules/socket.c | 2 | ||||
-rw-r--r-- | Src/Modules/stat.c | 2 | ||||
-rw-r--r-- | Src/Modules/system.c | 10 | ||||
-rw-r--r-- | Src/Modules/system.mdd | 7 | ||||
-rw-r--r-- | Src/Modules/tcp.c | 4 | ||||
-rw-r--r-- | Src/Modules/termcap.c | 4 | ||||
-rw-r--r-- | Src/Modules/terminfo.c | 4 | ||||
-rw-r--r-- | Src/Modules/zftp.c | 8 | ||||
-rw-r--r-- | Src/Modules/zpty.c | 2 | ||||
-rw-r--r-- | Src/Modules/zselect.c | 2 | ||||
-rw-r--r-- | Src/Modules/zutil.c | 29 |
23 files changed, 94 insertions, 69 deletions
diff --git a/Src/Modules/curses.c b/Src/Modules/curses.c index 64329f643..63c6748f5 100644 --- a/Src/Modules/curses.c +++ b/Src/Modules/curses.c @@ -202,7 +202,7 @@ static const struct zcurses_mouse_event zcurses_mouse_map[] = { { 0, 0, 0 } }; -mmask_t zcurses_mouse_mask = ALL_MOUSE_EVENTS; +static mmask_t zcurses_mouse_mask = ALL_MOUSE_EVENTS; #endif @@ -299,7 +299,7 @@ zcurses_free_window(ZCWin w) } static struct zcurses_namenumberpair * -zcurses_attrget(WINDOW *w, char *attr) +zcurses_attrget(UNUSED(WINDOW *w), char *attr) { struct zcurses_namenumberpair *zca; @@ -324,7 +324,7 @@ zcurses_color(const char *color) return (short)zc->number; } - return (short)-1; + return (short)-2; } static Colorpairnode @@ -350,13 +350,25 @@ zcurses_colorget(const char *nam, char *colorpair) } *bg = '\0'; - f = zcurses_color(cp); - b = zcurses_color(bg+1); - if (f==-1 || b==-1) { - if (f == -1) + // cp/bg can be {number}/{number} or {name}/{name} + + if( cp[0] >= '0' && cp[0] <= '9' ) { + f = atoi(cp); + } else { + f = zcurses_color(cp); + } + + if( (bg+1)[0] >= '0' && (bg+1)[0] <= '9' ) { + b = atoi(bg+1); + } else { + b = zcurses_color(bg+1); + } + + if (f==-2 || b==-2) { + if (f == -2) zwarnnam(nam, "foreground color `%s' not known", cp); - if (b == -1) + if (b == -2) zwarnnam(nam, "background color `%s' not known", bg+1); *bg = '/'; zsfree(cp); @@ -419,7 +431,7 @@ freecolorpairnode(HashNode hn) *************/ static int -zccmd_init(const char *nam, char **args) +zccmd_init(UNUSED(const char *nam), UNUSED(char **args)) { LinkNode stdscr_win = zcurses_getwindowbyname("stdscr"); @@ -808,7 +820,7 @@ zccmd_border(const char *nam, char **args) static int -zccmd_endwin(const char *nam, char **args) +zccmd_endwin(UNUSED(const char *nam), UNUSED(char **args)) { LinkNode stdscr_win = zcurses_getwindowbyname("stdscr"); @@ -1496,7 +1508,7 @@ zccmd_touch(const char *nam, char **args) /**/ static int -bin_zcurses(char *nam, char **args, Options ops, UNUSED(int func)) +bin_zcurses(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) { char **saargs; struct zcurses_subcommand *zcsc; @@ -1693,7 +1705,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { zcurses_windows = znewlinklist(); diff --git a/Src/Modules/datetime.c b/Src/Modules/datetime.c index 86c61cf1c..bb82c542f 100644 --- a/Src/Modules/datetime.c +++ b/Src/Modules/datetime.c @@ -292,7 +292,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/db_gdbm.c b/Src/Modules/db_gdbm.c index 032963262..8dd60fc0d 100644 --- a/Src/Modules/db_gdbm.c +++ b/Src/Modules/db_gdbm.c @@ -390,7 +390,7 @@ boot_(UNUSED(Module m)) /**/ int -cleanup_(UNUSED(Module m)) +cleanup_(Module m) { return setfeatureenables(m, &module_features, NULL); } diff --git a/Src/Modules/files.c b/Src/Modules/files.c index dbcff6307..6f816bac0 100644 --- a/Src/Modules/files.c +++ b/Src/Modules/files.c @@ -805,7 +805,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/langinfo.c b/Src/Modules/langinfo.c index eb45d161b..520b0370c 100644 --- a/Src/Modules/langinfo.c +++ b/Src/Modules/langinfo.c @@ -498,7 +498,7 @@ boot_(UNUSED(Module m)) /**/ int -cleanup_(UNUSED(Module m)) +cleanup_(Module m) { return setfeatureenables(m, &module_features, NULL); } diff --git a/Src/Modules/mapfile.c b/Src/Modules/mapfile.c index 422c7077c..2503b361e 100644 --- a/Src/Modules/mapfile.c +++ b/Src/Modules/mapfile.c @@ -306,7 +306,7 @@ boot_(UNUSED(Module m)) /**/ int -cleanup_(UNUSED(Module m)) +cleanup_(Module m) { return setfeatureenables(m, &module_features, NULL); } diff --git a/Src/Modules/mathfunc.c b/Src/Modules/mathfunc.c index efadd86ff..a7e8b294c 100644 --- a/Src/Modules/mathfunc.c +++ b/Src/Modules/mathfunc.c @@ -411,7 +411,11 @@ math_func(char *name, int argc, mnumber *argv, int id) break; case MF_SCALB: +#ifdef HAVE_SCALBN + retd = scalbn(argd, argi); +#else retd = scalb(argd, argi); +#endif break; #ifdef HAVE_SIGNGAM @@ -599,7 +603,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/newuser.c b/Src/Modules/newuser.c index efdb2abba..6f0d2e0aa 100644 --- a/Src/Modules/newuser.c +++ b/Src/Modules/newuser.c @@ -41,14 +41,14 @@ setup_(UNUSED(Module m)) /**/ int -features_(Module m, char ***features) +features_(UNUSED(Module m), UNUSED(char ***features)) { return 1; } /**/ int -enables_(Module m, int **enables) +enables_(UNUSED(Module m), UNUSED(int **enables)) { return 0; } diff --git a/Src/Modules/param_private.c b/Src/Modules/param_private.c index e13813c3d..86416c5c5 100644 --- a/Src/Modules/param_private.c +++ b/Src/Modules/param_private.c @@ -42,19 +42,19 @@ struct gsu_closure { void *g; }; -const struct gsu_scalar scalar_private_gsu = +static const struct gsu_scalar scalar_private_gsu = { pps_getfn, pps_setfn, pps_unsetfn }; -const struct gsu_integer integer_private_gsu = +static const struct gsu_integer integer_private_gsu = { ppi_getfn, ppi_setfn, ppi_unsetfn }; -const struct gsu_float float_private_gsu = +static const struct gsu_float float_private_gsu = { ppf_getfn, ppf_setfn, ppf_unsetfn }; -const struct gsu_array array_private_gsu = +static const struct gsu_array array_private_gsu = { ppa_getfn, ppa_setfn, ppa_unsetfn }; -const struct gsu_hash hash_private_gsu = +static const struct gsu_hash hash_private_gsu = { pph_getfn, pph_setfn, pph_unsetfn }; /* @@ -490,7 +490,7 @@ wrap_private(Eprog prog, FuncWrap w, char *name) return 1; } -static HashNode (*getparamnode) _((HashTable, const char *)); +static GetNodeFunc getparamnode; /**/ static HashNode @@ -567,6 +567,8 @@ static struct features module_features = { }; static struct builtin save_local; +static GetNodeFunc save_getnode2; +static ScanFunc save_printnode; static struct reswd reswd_private = {{NULL, "private", 0}, TYPESET}; /**/ @@ -577,6 +579,8 @@ setup_(UNUSED(Module m)) /* Horrible, horrible hack */ getparamnode = realparamtab->getnode; + save_getnode2 = realparamtab->getnode2; + save_printnode = realparamtab->printnode; realparamtab->getnode = getprivatenode; realparamtab->getnode2 = getprivatenode2; realparamtab->printnode = printprivatenode; @@ -624,8 +628,8 @@ cleanup_(Module m) removehashnode(reswdtab, "private"); realparamtab->getnode = getparamnode; - realparamtab->getnode2 = gethashnode2; - realparamtab->printnode = printparamnode; + realparamtab->getnode2 = save_getnode2; + realparamtab->printnode = save_printnode; deletewrapper(m, wrapper); return setfeatureenables(m, &module_features, NULL); diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index 04d448529..98bcaba6e 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -487,11 +487,6 @@ scanfunctions(UNUSED(HashTable ht), ScanFunc func, int flags, int dis) strcat(pm.u.str, " \"$@\""); } else pm.u.str = dyncat(start, t); - /* - * TBD: Is this unmetafy correct? Surely as this - * is a parameter value it stays metafied? - */ - unmetafy(pm.u.str, NULL); zsfree(t); if (shf->redir) { @@ -2190,7 +2185,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/pcre.c b/Src/Modules/pcre.c index aa5c8ed5b..5fd67963d 100644 --- a/Src/Modules/pcre.c +++ b/Src/Modules/pcre.c @@ -228,7 +228,7 @@ zpcre_get_substrings(char *arg, int *ovec, int ret, char *matchvar, /* Find the start offset */ MB_CHARINIT(); leftlen = ipair[0]; - while (leftlen) { + while (leftlen > 0) { offs++; clen = MB_CHARLEN(ptr, leftlen); ptr += clen; @@ -479,7 +479,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/regex.c b/Src/Modules/regex.c index 16cc77f30..edb7234d4 100644 --- a/Src/Modules/regex.c +++ b/Src/Modules/regex.c @@ -248,7 +248,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/socket.c b/Src/Modules/socket.c index 7c3fb5ebe..c65b7dfce 100644 --- a/Src/Modules/socket.c +++ b/Src/Modules/socket.c @@ -310,7 +310,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/stat.c b/Src/Modules/stat.c index 396177149..66baa1292 100644 --- a/Src/Modules/stat.c +++ b/Src/Modules/stat.c @@ -659,7 +659,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/system.c b/Src/Modules/system.c index 1ab1fb17e..afaec262a 100644 --- a/Src/Modules/system.c +++ b/Src/Modules/system.c @@ -439,7 +439,7 @@ bin_sysseek(char *nam, char **args, Options ops, UNUSED(int func)) /**/ static mnumber -math_systell(UNUSED(char *name), int argc, mnumber *argv, UNUSED(int id)) +math_systell(UNUSED(char *name), UNUSED(int argc), mnumber *argv, UNUSED(int id)) { int fd = (argv->type == MN_INTEGER) ? argv->u.l : (int)argv->u.d; mnumber ret; @@ -521,7 +521,7 @@ static int bin_zsystem_flock(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) { int cloexec = 1, unlock = 0, readlock = 0; - time_t timeout = 0; + zlong timeout = -1; char *fdvar = NULL; #ifdef HAVE_FCNTL_H struct flock lck; @@ -573,7 +573,7 @@ bin_zsystem_flock(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) } else { optarg = *args++; } - timeout = (time_t)mathevali(optarg); + timeout = mathevali(optarg); break; case 'u': @@ -650,7 +650,7 @@ bin_zsystem_flock(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) sleep(1); } } else { - while (fcntl(flock_fd, F_SETLKW, &lck) < 0) { + while (fcntl(flock_fd, timeout == 0 ? F_SETLK : F_SETLKW, &lck) < 0) { if (errflag) return 1; if (errno == EINTR) @@ -834,7 +834,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/system.mdd b/Src/Modules/system.mdd index eed0c1b9d..00a3e7896 100644 --- a/Src/Modules/system.mdd +++ b/Src/Modules/system.mdd @@ -15,7 +15,12 @@ errnames.c: errnames1.awk errnames2.awk $(dir_top)/config.h @ERRNO_H@ touch errtmp.out; \ else \ $(AWK) -f $(sdir)/errnames1.awk @ERRNO_H@ >errtmp.c; \ - $(CPP) errtmp.c >errtmp.out; \ + case "`$(CPP) --version </dev/null 2>&1`" in \ + *"Free Software Foundation"*) \ + $(CPP) -P errtmp.c >errtmp.out;; \ + *) \ + $(CPP) errtmp.c >errtmp.out;; \ + esac; \ fi $(AWK) -f $(sdir)/errnames2.awk errtmp.out > $@ rm -f errtmp.c errtmp.out diff --git a/Src/Modules/tcp.c b/Src/Modules/tcp.c index 9fc1b29a2..dec12142b 100644 --- a/Src/Modules/tcp.c +++ b/Src/Modules/tcp.c @@ -208,7 +208,7 @@ freehostent(UNUSED(struct hostent *ptr)) /**/ #endif /* !HAVE_GETIPNODEBYNAME */ -LinkList ztcp_sessions; +static LinkList ztcp_sessions; /* "allocate" a tcp_session */ static Tcp_session @@ -732,7 +732,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { ztcp_sessions = znewlinklist(); return 0; diff --git a/Src/Modules/termcap.c b/Src/Modules/termcap.c index cd0e85885..60a6e138a 100644 --- a/Src/Modules/termcap.c +++ b/Src/Modules/termcap.c @@ -295,7 +295,7 @@ scantermcap(UNUSED(HashTable ht), ScanFunc func, int flags) } } -struct paramdef partab[] = { +static struct paramdef partab[] = { SPECIALPMDEF("termcap", PM_READONLY, NULL, gettermcap, scantermcap) }; @@ -342,7 +342,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { #ifdef HAVE_TGETENT # ifdef HAVE_SETUPTERM diff --git a/Src/Modules/terminfo.c b/Src/Modules/terminfo.c index 88e326f63..bbd325899 100644 --- a/Src/Modules/terminfo.c +++ b/Src/Modules/terminfo.c @@ -99,7 +99,7 @@ bin_echoti(char *name, char **argv, UNUSED(Options ops), UNUSED(int func)) return 1; } /* check that the number of arguments provided is not too high */ - if (arrlen(argv) > 9) { + if (arrlen_gt(argv, 9)) { zwarnnam(name, "too many arguments"); return 1; } @@ -335,7 +335,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { #ifdef USE_TERMINFO_MODULE # ifdef HAVE_SETUPTERM diff --git a/Src/Modules/zftp.c b/Src/Modules/zftp.c index b4081df5f..deed35e2f 100644 --- a/Src/Modules/zftp.c +++ b/Src/Modules/zftp.c @@ -344,10 +344,10 @@ static int zfsesscnt; */ /* flags for alarm set, alarm gone off */ -int zfalarmed, zfdrrrring; +static int zfalarmed, zfdrrrring; /* remember old alarm status */ -time_t oaltime; -unsigned int oalremain; +static time_t oaltime; +static unsigned int oalremain; /* * Where to jump to when the alarm goes off. This is much @@ -357,7 +357,7 @@ unsigned int oalremain; * * gcc -O gives apparently spurious `may be clobbered by longjmp' warnings. */ -jmp_buf zfalrmbuf; +static jmp_buf zfalrmbuf; /* The signal handler itself */ diff --git a/Src/Modules/zpty.c b/Src/Modules/zpty.c index 63ff7578c..0ef753915 100644 --- a/Src/Modules/zpty.c +++ b/Src/Modules/zpty.c @@ -891,7 +891,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { ptycmds = NULL; diff --git a/Src/Modules/zselect.c b/Src/Modules/zselect.c index 30a3f51a5..8c1267240 100644 --- a/Src/Modules/zselect.c +++ b/Src/Modules/zselect.c @@ -307,7 +307,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c index 376cd8402..d95c0c254 100644 --- a/Src/Modules/zutil.c +++ b/Src/Modules/zutil.c @@ -472,7 +472,7 @@ bin_zstyle(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) Patprog prog; char *pat; - if (arrlen(args) < 2) { + if (arrlen_lt(args, 2)) { zwarnnam(nam, "not enough arguments"); return 1; } @@ -491,7 +491,7 @@ bin_zstyle(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) Style s; char *context, *stylename; - switch (arrlen(args)) { + switch (arrlen_ge(args, 3) ? 3 : arrlen(args)) { case 2: context = args[0]; stylename = args[1]; @@ -1745,13 +1745,15 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) for (p = o; *p; p++) { if (*p == '\\' && p[1]) p++; - else if (*p == '+') { - f |= ZOF_MULT; - *p = '\0'; - p++; - break; - } else if (*p == ':' || *p == '=') - break; + else if (p > o) { /* At least one character of option name */ + if (*p == '+') { + f |= ZOF_MULT; + *p = '\0'; + p++; + break; + } else if (*p == ':' || *p == '=') + break; + } } if (*p == ':') { f |= ZOF_ARG; @@ -1789,6 +1791,7 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) p++; *n++ = *p; } + *n = '\0'; if (get_opt_desc(o)) { zwarnnam(nam, "option defined more than once: %s", o); return 1; @@ -1833,7 +1836,8 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) if (o[1]) { add_opt_val(d, o + 1); break; - } else if (!(d->flags & ZOF_OPT)) { + } else if (!(d->flags & ZOF_OPT) || + (pp[1] && pp[1][0] != '-')) { if (!pp[1]) { zwarnnam(nam, "missing argument for option: %s", d->name); @@ -1859,7 +1863,8 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) if (*e) add_opt_val(d, e); - else if (!(d->flags & ZOF_OPT)) { + else if (!(d->flags & ZOF_OPT) || + (pp[1] && pp[1][0] != '-')) { if (!pp[1]) { zwarnnam(nam, "missing argument for option: %s", d->name); @@ -1990,7 +1995,7 @@ enables_(Module m, int **enables) /**/ int -boot_(Module m) +boot_(UNUSED(Module m)) { return 0; } |