From: Denis Vlasenko Date: Sat, 29 Nov 2008 06:43:05 +0000 (-0000) Subject: apply post-1.12.2 fixes, bump version to 1.12.3 X-Git-Tag: 1_12_3^0 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9343da45d3f226cc8b45879ac8dbacac2911cdd8;p=oweals%2Fbusybox.git apply post-1.12.2 fixes, bump version to 1.12.3 --- diff --git a/Makefile b/Makefile index c25cf5d11..1bfb27082 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 1 PATCHLEVEL = 12 -SUBLEVEL = 2 +SUBLEVEL = 3 EXTRAVERSION = NAME = Unnamed diff --git a/libbb/getopt32.c b/libbb/getopt32.c index ee85181cd..f33ead1c6 100644 --- a/libbb/getopt32.c +++ b/libbb/getopt32.c @@ -515,6 +515,19 @@ getopt32(char **argv, const char *applet_opts, ...) } } + /* In case getopt32 was already called: + * reset the libc getopt() function, which keeps internal state. + * run_nofork_applet_prime() does this, but we might end up here + * also via gunzip_main() -> gzip_main(). Play safe. + */ +#ifdef __GLIBC__ + optind = 0; +#else /* BSD style */ + optind = 1; + /* optreset = 1; */ +#endif + /* optarg = NULL; opterr = 0; optopt = 0; - do we need this?? */ + pargv = NULL; /* Note: just "getopt() <= 0" will not work well for diff --git a/libbb/lineedit.c b/libbb/lineedit.c index 1f21866ca..2388b3721 100644 --- a/libbb/lineedit.c +++ b/libbb/lineedit.c @@ -1415,8 +1415,10 @@ int FAST_FUNC read_line_input(const char *prompt, char *command, int maxsize, li if ((state->flags & SAVE_HISTORY) && state->hist_file) load_history(state->hist_file); #endif +#if MAX_HISTORY > 0 if (state->flags & DO_HISTORY) state->cur_history = state->cnt_history; +#endif /* prepare before init handlers */ cmdedit_y = 0; /* quasireal y, not true if line > xt*yt */