diff options
author | Clint Adams <clint@users.sourceforge.net> | 2000-04-07 02:27:44 +0000 |
---|---|---|
committer | Clint Adams <clint@users.sourceforge.net> | 2000-04-07 02:27:44 +0000 |
commit | 18870148c5e4e71c356821000bb2b8d07366cd49 (patch) | |
tree | dd1b70ae888b2b26aeca95ffc8854cbc4123abdf | |
parent | d2330ba0554b09a3f942a921acfbbabcf6466bef (diff) | |
download | zsh-18870148c5e4e71c356821000bb2b8d07366cd49.tar.gz zsh-18870148c5e4e71c356821000bb2b8d07366cd49.tar.xz zsh-18870148c5e4e71c356821000bb2b8d07366cd49.zip |
10564: typo in _wanted
10565: maximum function depth configure option 10566: patgetglobflags has a second argument now
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | Completion/X/_x_display | 2 | ||||
-rw-r--r-- | Src/exec.c | 13 | ||||
-rw-r--r-- | Src/glob.c | 4 | ||||
-rw-r--r-- | acconfig.h | 83 | ||||
-rw-r--r-- | configure.in | 10 |
6 files changed, 113 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index 678ee52e4..8cd9956f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-04-06 Clint Adams <schizo@debian.org> + * Felix Rosencrantz: 10564: Completion/X/_x_display: + typo in _wanted. + * 10565: acconfig.h, configure.in, Src/exec.c: + add configure option for function depth limit. + * 10566: Src/glob.c: change invocation of patgetglobflags + to use two arguments. + 2000-04-06 Peter Stephenson <pws@pwstephenson.fsnet.co.uk> * 10547: Doc/Zsh/expn.yo, Misc/globtests, Src/pattern.c, diff --git a/Completion/X/_x_display b/Completion/X/_x_display index e3f9af479..94c3fa9a4 100644 --- a/Completion/X/_x_display +++ b/Completion/X/_x_display @@ -1,3 +1,3 @@ #autoload -_hosts -S ':0 ' -r : +_wanted displays && _hosts -S ':0 ' -r : diff --git a/Src/exec.c b/Src/exec.c index 0dffaf4e2..79dca611d 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -3251,6 +3251,9 @@ doshfunc(char *name, Eprog prog, LinkList doshargs, int flags, int noreturnval) char saveopts[OPT_SIZE], *oldscriptname = NULL, *fname = dupstring(name); int obreaks; struct funcstack fstack; +#ifdef MAX_FUNCTION_DEPTH + static int funcdepth; +#endif pushheap(); @@ -3300,6 +3303,13 @@ doshfunc(char *name, Eprog prog, LinkList doshargs, int flags, int noreturnval) argzero = ztrdup(argzero); } } +#ifdef MAX_FUNCTION_DEPTH + if(++funcdepth > MAX_FUNCTION_DEPTH) + { + zerr("maximum nested function level reached", NULL, 0); + return; + } +#endif fstack.name = dupstring(name); fstack.prev = funcstack; funcstack = &fstack; @@ -3323,6 +3333,9 @@ doshfunc(char *name, Eprog prog, LinkList doshargs, int flags, int noreturnval) } runshfunc(prog, wrappers, fstack.name); funcstack = fstack.prev; +#ifdef MAX_FUNCTION_DEPTH + --funcdepth; +#endif if (retflag) { retflag = 0; breaks = obreaks; diff --git a/Src/glob.c b/Src/glob.c index 663e0167f..623a50706 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -698,6 +698,8 @@ parsecomplist(char *instr) static Complist parsepat(char *str) { + long assert; + patcompstart(); /* * Check for initial globbing flags, so that they don't form @@ -707,7 +709,7 @@ parsepat(char *str) (isset(KSHGLOB) && *str == '@' && str[1] == Inpar && str[2] == Pound)) { str += (*str == Inpar) ? 2 : 3; - if (!patgetglobflags(&str)) + if (!patgetglobflags(&str, &assert)) return NULL; } diff --git a/acconfig.h b/acconfig.h index c74d33966..92ae69422 100644 --- a/acconfig.h +++ b/acconfig.h @@ -73,6 +73,9 @@ /* Define to 1 if you have RFS superroot directory. */ #undef HAVE_SUPERROOT +/* Define to 1 if you need to use the native getcwd */ +#undef USE_GETCWD + /* Define to the path of the /dev/fd filesystem */ #undef PATH_DEV_FD @@ -130,6 +133,9 @@ /* Define if your system's struct direct has a member named d_stat. */ #undef HAVE_STRUCT_DIRECT_D_STAT +/* Define if your system's struct sockaddr_in6 has a member named sin6_scope_id. */ +#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID + /* Define to be a string corresponding the vendor of the machine */ #undef VENDOR @@ -155,6 +161,20 @@ * hash tables. This turns on the `hashinfo' builtin. */ #undef ZSH_HASH_DEBUG +/* Undefine this if you don't want to get a restricted shell * + * when zsh is exec'd with basename that starts with r. * + * By default this is defined. */ +#undef RESTRICTED_R + +/* Define for Maildir support */ +#undef MAILDIR_SUPPORT + +/* Define for function depth limits */ +#undef MAX_FUNCTION_DEPTH + +/* Define if you want locale features. By default this is defined. */ +#undef CONFIG_LOCALE + /* Define to 1 if your termcap library has the ospeed variable */ #undef HAVE_OSPEED /* Define to 1 if you have ospeed, but it is not defined in termcap.h */ @@ -181,9 +201,6 @@ /* Define to 1 if struct timezone is defined by a system header */ #undef HAVE_STRUCT_TIMEZONE -/* Define if your system's typeahead disappears from the shell editor. */ -#undef CLOBBERS_TYPEAHEAD - /* Define to 1 if there is a prototype defined for brk() on your system */ #undef HAVE_BRK_PROTO @@ -193,13 +210,22 @@ /* Define to 1 if there is a prototype defined for ioctl() on your system */ #undef HAVE_IOCTL_PROTO +/* Define to 1 if there is a prototype defined for mknod() on your system */ +#undef HAVE_MKNOD_PROTO + +/* Define to 1 if select() is defined in <sys/socket.h>, ie BeOS R4.51*/ +#undef SELECT_IN_SYS_SOCKET_H + /* Define to 1 if system has working FIFO's */ #undef HAVE_FIFOS -/* Define to 1 if struct rlimit use quad_t */ +/* Define to 1 if struct rlimit uses quad_t */ #undef RLIM_T_IS_QUAD_T -/* Define to 1 if rlimit use unsigned */ +/* Define to 1 if struct rlimit uses long long */ +#undef RLIM_T_IS_LONG_LONG + +/* Define to 1 if rlimit uses unsigned */ #undef RLIM_T_IS_UNSIGNED /* Define to the type used in struct rlimit */ @@ -208,6 +234,21 @@ /* Define to 1 if /bin/sh does not interpret \ escape sequences */ #undef SH_USE_BSD_ECHO +/* Define to 1 if system has working link() */ +#undef HAVE_LINK + +/* Define to 1 if kill(pid, 0) doesn't return ESRCH, ie BeOS R4.51 */ +#undef BROKEN_KILL_ESRCH + +/* Define to 1 if sigsuspend() is broken, ie BeOS R4.51 */ +#undef BROKEN_POSIX_SIGSUSPEND + +/* Define to 1 if getpwnam() is faked, ie BeOS R4.51 */ +#undef GETPWNAM_FAKED + +/* Define to 1 if tcsetpgrp() doesn't work, ie BeOS R4.51 */ +#undef BROKEN_TCSETPGRP + /* Define to 1 if an underscore has to be prepended to dlsym() argument */ #undef DLSYM_NEEDS_UNDERSCORE @@ -219,3 +260,35 @@ /* Define to 1 if you want to use dynamically loaded modules */ #undef DYNAMIC + +/* Define to 1 if you want to use dynamically loaded modules on AIX */ +#undef AIXDYNAMIC + +/* Define to 1 if you want to use dynamically loaded modules on HPUX 10 */ +#undef HPUXDYNAMIC + +/* Define to `unsigned long' if <sys/types.h> doesn't define. */ +#undef ino_t + +/* + * Definitions used when a long is less than eight byte, to try to + * provide some support for eight byte operations. + * + * Note that ZSH_64_BIT_TYPE, OFF_T_IS_64_BIT, INO_T_IS_64_BIT do *not* get + * defined if long is already 64 bits, since in that case no special handling + * is required. + */ +/* Define to 1 if long is 64 bits */ +#undef LONG_IS_64_BIT + +/* Define to a 64 bit integer type if there is one, but long is shorter */ +#undef ZSH_64_BIT_TYPE + +/* Define to an unsigned variant of ZSH_64_BIT_TYPE if that is defined */ +#undef ZSH_64_BIT_UTYPE + +/* Define to 1 if off_t is 64 bit (for large file support) */ +#undef OFF_T_IS_64_BIT + +/* Define to 1 if ino_t is 64 bit (for large file support) */ +#undef INO_T_IS_64_BIT diff --git a/configure.in b/configure.in index a245c1b84..2fde12a56 100644 --- a/configure.in +++ b/configure.in @@ -271,6 +271,16 @@ AC_ARG_ENABLE(maildir-support, AC_DEFINE(MAILDIR_SUPPORT) fi]) +dnl Do you want to set a maximum function depth? +undefine([max_function_depth])dnl +AC_ARG_ENABLE(max-function-depth, +[ --enable-max-function-depth=MAX Limit function depth to MAX], +[if test x$enableval = xyes; then + AC_DEFINE(MAX_FUNCTION_DEPTH, 4096) +else + AC_DEFINE_UNQUOTED(MAX_FUNCTION_DEPTH, $enableval) +fi]) + dnl ------------------ dnl CHECK THE COMPILER dnl ------------------ |