commit bash-20050707 snapshot

This commit is contained in:
Chet Ramey
2011-12-03 13:48:19 -05:00
parent da71998238
commit fd3925f15a
23 changed files with 6148 additions and 1069 deletions
+45
View File
@@ -11725,5 +11725,50 @@ lib/readline/rltty.c
NO_TTY_DRIVER is defined (lightly tested - builds on MacOS X, at
least)
7/7
---
command.h
- add a `flags' member to the PATTERN_LIST structure
make_cmd.c
- intialize the `flags' member of a PATTERN_LIST when it's created
builtins/psize.c
- protect extern declaration of errno with usual #ifdef errno
configure.in, variables.c
- changes for QNX 6.x
7/9
---
parse.y
- fix parse_matched_pair to handle single and double quoted strings
inside old-style command substitution (``) since they can each
quote the ` and embedded $-expansions. Report by Eric Blake
<ebb9@byu.net>
{configure,Makefile}.in
- TILDE_LIB is now substituted into Makefile by configure
configure.in
- if configuring --with-installed-readline on cygwin, set TILDE_LIB
to the empty string to avoid multiply-defined symbols. Cygwin
doesn't allow undefined symbols in dynamic libraries. Report by
Eric Blake <ebb9@byu.net>
7/11
----
input.c
- in duplicate_buffered_stream, don't call free_buffered_stream if the
two buffered streams share the same b_buffer object (e.g., if they
had already been duplicated with a previous call). Fixes Debian bug
reported by eero17@bigfoot.com
7/12
----
shell.c
- make set_shell_name more resistant to a NULL argument
- in bind_args, use < instead of != when counting the arguments and
making the arg list
- in main(), make sure arg_index is not initialized to a value greater
than argc
+44 -2
View File
@@ -11714,10 +11714,52 @@ lib/readline/input.c
lib/readline/readline.c
- add a few key bindings for the arrow keys on mingw
lib/readline/rldefs.h
- if on mingw, define NO_TTY_DRIVER
lib/readline/rltty.c
- compile in the stub functions for _rl_{disable,restore}_tty_signals
if on mingw
- compile in stub function for rl_restart_output on mingw
- make sure enough functions and macros are defined to compile if
NO_TTY_DRIVER is defined (lightly tested - builds on MacOS X, at
least)
lib/readline/rldefs.h
- if on mingw, define NO_TTY_DRIVER
7/7
---
command.h
- add a `flags' member to the PATTERN_LIST structure
make_cmd.c
- intialize the `flags' member of a PATTERN_LIST when it's created
builtins/psize.c
- protect extern declaration of errno with usual #ifdef errno
configure.in, variables.c
- changes for QNX 6.x
7/9
---
parse.y
- fix parse_matched_pair to handle single and double quoted strings
inside old-style command substitution (``) since they can each
quote the ` and embedded $-expansions. Report by Eric Blake
<ebb9@byu.net>
{configure,Makefile}.in
- TILDE_LIB is now substituted into Makefile by configure
configure.in
- if configuring --with-installed-readline on cygwin, set TILDE_LIB
to the empty string to avoid multiply-defined symbols. Cygwin
doesn't allow undefined symbols in dynamic libraries. Report by
Eric Blake <ebb9@byu.net>
7/11
----
input.c
- in duplicate_buffered_stream, don't call free_buffered_stream if the
two buffered streams share the same b_buffer object (e.g., if they
had already been duplicated with a previous call). Fixes bug
reported by eero17@bigfoot.com
+1 -1
View File
@@ -311,7 +311,7 @@ TILDE_LIBSRC = $(LIBSRC)/tilde
TILDE_LIBDIR = $(dot)/$(LIBSUBDIR)/tilde
TILDE_ABSSRC = ${topdir}/$(TILDE_LIBDIR)
TILDE_LIB = -ltilde
TILDE_LIB = @TILDE_LIB@
TILDE_LIBRARY = $(TILDE_LIBDIR)/libtilde.a
TILDE_LDFLAGS = -L$(TILDE_LIBDIR)
TILDE_DEP = $(TILDE_LIBRARY)
+4 -4
View File
@@ -1,4 +1,4 @@
# Makefile for bash-3.1, version 2.156
# Makefile for bash-3.1, version 2.157
#
# Copyright (C) 1996-2005 Free Software Foundation, Inc.
@@ -730,7 +730,7 @@ LIB_SUBDIRS = ${RL_LIBDIR} ${HIST_LIBDIR} ${TERM_LIBDIR} ${GLOB_LIBDIR} \
basic-clean:
$(RM) $(OBJECTS) $(Program) bashbug
$(RM) .build .made version.h pathnames.h
$(RM) .build .made version.h
clean: basic-clean
( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
@@ -760,7 +760,7 @@ distclean: basic-clean maybe-clean
done
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_CONFIGURE) tags TAGS
$(RM) $(CREATED_SUPPORT) Makefile $(CREATED_MAKEFILES)
$(RM) $(CREATED_SUPPORT) Makefile $(CREATED_MAKEFILES) pathnames.h
maintainer-clean: basic-clean
@echo This command is intended for maintainers to use.
@@ -774,7 +774,7 @@ maintainer-clean: basic-clean
done
-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_CONFIGURE) $(CREATED_MAKEFILES)
$(RM) $(CREATED_SUPPORT) Makefile
$(RM) $(CREATED_SUPPORT) Makefile pathnames.h
maybe-clean:
-if test "X$(topdir)" != "X$(BUILD_DIR)" ; then \
+13 -4
View File
@@ -1,5 +1,5 @@
@%:@! /bin/sh
@%:@ From configure.in for Bash 3.1, version 3.175, from autoconf version AC_ACVERSION.
@%:@ From configure.in for Bash 3.1, version 3.177, from autoconf version AC_ACVERSION.
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.59 for bash 3.1-devel.
@%:@
@@ -312,7 +312,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL HELPSTRINGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CROSS_COMPILE SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL SIZE MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIB@&t@OBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL HELPSTRINGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CROSS_COMPILE SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR TILDE_LIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL SIZE MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIB@&t@OBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -1509,7 +1509,7 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
*-beos*) opt_bash_malloc=no ;; # they say it's suitable
@@ -4838,6 +4838,7 @@ echo "$as_me: WARNING: using private bash version" >&2;}
esac
fi
TILDE_LIB=-ltilde
if test $opt_readline = yes; then
cat >>confdefs.h <<\_ACEOF
@%:@define READLINE 1
@@ -4854,10 +4855,15 @@ _ACEOF
esac
READLINE_DEP=
READLINE_LIB=-lreadline
# section for OS versions that don't allow unresolved symbols
# to be compiled into dynamic libraries.
case "$host_os" in
cygwin*) TILDE_LIB= ;;
esac
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_DEP='$(READLINE_LIBRARY)'
# section for OS versions that ship an older version of
# section for OS versions that ship an older/broken version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
# dynamic version
@@ -4921,6 +4927,7 @@ fi
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -26738,6 +26745,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
_ACEOF
;;
esac ;;
*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
@@ -27536,6 +27544,7 @@ s,@RL_INCLUDE@,$RL_INCLUDE,;t t
s,@HISTORY_LIB@,$HISTORY_LIB,;t t
s,@HISTORY_DEP@,$HISTORY_DEP,;t t
s,@HIST_LIBDIR@,$HIST_LIBDIR,;t t
s,@TILDE_LIB@,$TILDE_LIB,;t t
s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+91 -91
View File
@@ -15,101 +15,101 @@
'configure.in'
],
{
'AC_HEADER_STDC' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'sinclude' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_PROG_LN_S' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_C_VOLATILE' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_PROG_LEX' => 1,
'AC_PATH_X' => 1,
'AC_LIBSOURCE' => 1,
'AC_TYPE_UID_T' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_CHECK_FUNCS' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_INIT' => 1,
'AC_FUNC_STRTOD' => 1,
'm4_pattern_forbid' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_CONFIG_LINKS' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_C_INLINE' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_TYPE_PID_T' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_CHECK_LIB' => 1,
'AC_PROG_RANLIB' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_PROG_INSTALL' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_PROG_CPP' => 1,
'm4_pattern_allow' => 1,
'AC_C_CONST' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_HEADER_STAT' => 1,
'AC_FUNC_MMAP' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_FUNC_STRNLEN' => 1,
'AC_SUBST' => 1,
'AH_OUTPUT' => 1,
'AM_CONDITIONAL' => 1,
'AC_FUNC_FSEEKO' => 1,
'AC_PROG_CC' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AC_STRUCT_TM' => 1,
'AC_PROG_AWK' => 1,
'AC_HEADER_DIRENT' => 1,
'include' => 1,
'AC_CHECK_TYPES' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_C_VOLATILE' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_FUNC_WAIT3' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_FORK' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_PROG_CXX' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_CONFIG_FILES' => 1,
'AC_PROG_YACC' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_FUNC_STRCOLL' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'm4_sinclude' => 1,
'_m4_warn' => 1,
'AC_CHECK_MEMBERS' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
'AC_FUNC_WAIT3' => 1,
'AC_HEADER_TIME' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_STRUCT_TM' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_FUNC_STRNLEN' => 1,
'm4_sinclude' => 1,
'AC_PROG_CXX' => 1,
'AC_PATH_X' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_PROG_AWK' => 1,
'_m4_warn' => 1,
'AC_HEADER_STDC' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_LIBSOURCE' => 1,
'AC_FUNC_MBRTOWC' => 1,
'm4_include' => 1
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'm4_pattern_allow' => 1,
'sinclude' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
'AC_FUNC_FORK' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_PROG_YACC' => 1,
'AC_INIT' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_SUBST' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_PROG_RANLIB' => 1,
'AC_FUNC_SETPGRP' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_MMAP' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_CHECK_TYPES' => 1,
'AC_CHECK_MEMBERS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 1,
'AC_PROG_CPP' => 1,
'AC_C_CONST' => 1,
'AC_TYPE_PID_T' => 1,
'AC_PROG_LEX' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_PROG_INSTALL' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_FUNC_MKTIME' => 1,
'AM_CONDITIONAL' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_PROG_LN_S' => 1,
'AC_FUNC_MEMCMP' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
}
], 'Autom4te::Request' )
);
+926 -925
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -40,7 +40,10 @@
#include "../command.h"
#include "../general.h"
#include "../sig.h"
#ifndef errno
extern int errno;
#endif
int nw;
+1
View File
@@ -202,6 +202,7 @@ typedef struct pattern_list {
struct pattern_list *next; /* Clause to try in case this one failed. */
WORD_LIST *patterns; /* Linked list of patterns to test. */
COMMAND *action; /* Thing to execute if a pattern matches. */
int flags;
} PATTERN_LIST;
/* The CASE command. */
+2
View File
@@ -86,6 +86,7 @@ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select,
#define W_ASSNBLTIN 0x10000 /* word is a builtin command that takes assignments */
#define W_ASSIGNARG 0x20000 /* word is assignment argument to command */
#define W_HASQUOTEDNULL 0x40000 /* word contains a quoted null character */
#define W_DQUOTE 0x80000 /* word should be treated as if double-quoted */
/* Possible values for subshell_environment */
#define SUBSHELL_ASYNC 0x01 /* subshell caused by `command &' */
@@ -198,6 +199,7 @@ typedef struct connection {
/* Pattern/action structure for CASE_COM. */
typedef struct pattern_list {
int flags;
struct pattern_list *next; /* Clause to try in case this one failed. */
WORD_LIST *patterns; /* Linked list of patterns to test. */
COMMAND *action; /* Thing to execute if a pattern matches. */
Vendored
+13 -4
View File
@@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in for Bash 3.1, version 3.175, from autoconf version AC_ACVERSION.
# From configure.in for Bash 3.1, version 3.177, from autoconf version AC_ACVERSION.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for bash 3.1-devel.
#
@@ -312,7 +312,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL HELPSTRINGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CROSS_COMPILE SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL SIZE MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL HELPSTRINGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CROSS_COMPILE SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR TILDE_LIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL SIZE MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -1509,7 +1509,7 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
*-beos*) opt_bash_malloc=no ;; # they say it's suitable
@@ -4838,6 +4838,7 @@ echo "$as_me: WARNING: using private bash version" >&2;}
esac
fi
TILDE_LIB=-ltilde
if test $opt_readline = yes; then
cat >>confdefs.h <<\_ACEOF
#define READLINE 1
@@ -4854,10 +4855,15 @@ _ACEOF
esac
READLINE_DEP=
READLINE_LIB=-lreadline
# section for OS versions that don't allow unresolved symbols
# to be compiled into dynamic libraries.
case "$host_os" in
cygwin*) TILDE_LIB= ;;
esac
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_DEP='$(READLINE_LIBRARY)'
# section for OS versions that ship an older version of
# section for OS versions that ship an older/broken version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
# dynamic version
@@ -4921,6 +4927,7 @@ fi
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -26738,6 +26745,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
_ACEOF
;;
esac ;;
*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
@@ -27536,6 +27544,7 @@ s,@RL_INCLUDE@,$RL_INCLUDE,;t t
s,@HISTORY_LIB@,$HISTORY_LIB,;t t
s,@HISTORY_DEP@,$HISTORY_DEP,;t t
s,@HIST_LIBDIR@,$HIST_LIBDIR,;t t
s,@TILDE_LIB@,$TILDE_LIB,;t t
s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+11 -3
View File
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to produce a configure script.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_REVISION([for Bash 3.1, version 3.175, from autoconf version] AC_ACVERSION)dnl
AC_REVISION([for Bash 3.1, version 3.177, from autoconf version] AC_ACVERSION)dnl
define(bashvers, 3.1)
define(relstatus, devel)
@@ -82,7 +82,7 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
*-beos*) opt_bash_malloc=no ;; # they say it's suitable
@@ -488,6 +488,7 @@ then
esac
fi
TILDE_LIB=-ltilde
if test $opt_readline = yes; then
AC_DEFINE(READLINE)
if test "$opt_with_installed_readline" != "no" ; then
@@ -501,10 +502,15 @@ if test $opt_readline = yes; then
esac
READLINE_DEP=
READLINE_LIB=-lreadline
# section for OS versions that don't allow unresolved symbols
# to be compiled into dynamic libraries.
case "$host_os" in
cygwin*) TILDE_LIB= ;;
esac
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_DEP='$(READLINE_LIBRARY)'
# section for OS versions that ship an older version of
# section for OS versions that ship an older/broken version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
# dynamic version
@@ -560,6 +566,7 @@ AC_SUBST(RL_INCLUDE)
AC_SUBST(HISTORY_LIB)
AC_SUBST(HISTORY_DEP)
AC_SUBST(HIST_LIBDIR)
AC_SUBST(TILDE_LIB)
dnl END READLINE and HISTORY LIBRARY SECTION
@@ -985,6 +992,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
case "`uname -r`" in
2.[[456789]]*|3*) AC_DEFINE(PGRP_PIPE) ;;
esac ;;
*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+9 -4
View File
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to produce a configure script.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_REVISION([for Bash 3.1, version 3.175, from autoconf version] AC_ACVERSION)dnl
AC_REVISION([for Bash 3.1, version 3.177, from autoconf version] AC_ACVERSION)dnl
define(bashvers, 3.1)
define(relstatus, devel)
@@ -82,7 +82,7 @@ sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2
*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
*-beos*) opt_bash_malloc=no ;; # they say it's suitable
@@ -402,7 +402,8 @@ if test "x$cross_compiling" = "xyes"; then
. ${cross_cache}
fi
unset cross_cache
CROSS_COMPILING_FLAG='-DCROSS_COMPILING'
CROSS_COMPILE='-DCROSS_COMPILING'
AC_SUBST(CROSS_COMPILE)
fi
AC_SUBST(SIGNAMES_H)
@@ -487,6 +488,7 @@ then
esac
fi
TILDE_LIB=-ltilde
if test $opt_readline = yes; then
AC_DEFINE(READLINE)
if test "$opt_with_installed_readline" != "no" ; then
@@ -503,7 +505,7 @@ if test $opt_readline = yes; then
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_DEP='$(READLINE_LIBRARY)'
# section for OS versions that ship an older version of
# section for OS versions that ship an older/broken version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
# dynamic version
@@ -559,6 +561,7 @@ AC_SUBST(RL_INCLUDE)
AC_SUBST(HISTORY_LIB)
AC_SUBST(HISTORY_DEP)
AC_SUBST(HIST_LIBDIR)
AC_SUBST(TILDE_LIB)
dnl END READLINE and HISTORY LIBRARY SECTION
@@ -984,6 +987,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
case "`uname -r`" in
2.[[456789]]*|3*) AC_DEFINE(PGRP_PIPE) ;;
esac ;;
*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
@@ -1004,6 +1008,7 @@ freebsd[[3-9]]*)
LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
fi ;;
freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
esac
case "$host_cpu" in
+1 -1
View File
@@ -22,7 +22,7 @@ mkalias ()
s/#/\#/g')
echo $1 \(\) "{" command "$comm" "; }"
;;
*) echo alias ${1}=\'$(echo "${2}" | sed "s:':'\\\\'':")\' ;;
*) echo alias ${1}=\'$(echo "${2}" | sed "s:':'\\\\'':g")\' ;;
esac
}
EOF
+42
View File
@@ -0,0 +1,42 @@
#! /bin/bash
#
# aliasconv.bash - convert csh aliases to bash aliases and functions
#
# usage: aliasconv.bash
#
# Chet Ramey
# chet@po.cwru.edu
#
trap 'rm -f /tmp/cb$$.?' 0 1 2 3 6 15
T=$'\t'
cat << \EOF >/tmp/cb$$.1
mkalias ()
{
case $2 in
'') echo alias ${1}="''" ;;
*[#\!]*)
comm=$(echo $2 | sed 's/\!\*/"$\@"/g
s/\!:\([1-9]\)/"$\1"/g
s/#/\#/g')
echo $1 \(\) "{" command "$comm" "; }"
;;
*) echo alias ${1}=\'$(echo "${2}" | sed "s:':'\\\\'':")\' ;;
esac
}
EOF
# the first thing we want to do is to protect single quotes in the alias,
# since they whole thing is going to be surrounded by single quotes when
# passed to mkalias
sed -e "s:':\\'\\\'\\':" -e "s/^\([a-zA-Z0-9_-]*\)$T\(.*\)$/mkalias \1 '\2'/" >>/tmp/cb$$.1
$BASH /tmp/cb$$.1 | sed -e 's/\$cwd/\$PWD/g' \
-e 's/\$term/\$TERM/g' \
-e 's/\$home/\$HOME/g' \
-e 's/\$user/\$USER/g' \
-e 's/\$prompt/\$PS1/g'
exit 0
+7 -1
View File
@@ -312,7 +312,13 @@ duplicate_buffered_stream (fd1, fd2)
(bash_input.location.buffered_fd == fd2);
if (buffers[fd2])
free_buffered_stream (buffers[fd2]);
{
/* If the two objects share the same b_buffer, don't free it. */
if (buffers[fd1] && buffers[fd1]->b_buffer && buffers[fd1]->b_buffer == buffers[fd2]->b_buffer)
buffers[fd2] = (BUFFERED_STREAM *)NULL;
else
free_buffered_stream (buffers[fd2]);
}
buffers[fd2] = copy_buffered_stream (buffers[fd1]);
if (buffers[fd2])
buffers[fd2]->b_fd = fd2;
+8 -4
View File
@@ -50,7 +50,7 @@ extern int errno;
if a signal is received. */
static char localbuf[128];
static int local_index, local_bufused;
static int local_index = 0, local_bufused = 0;
/* Posix and USG systems do not guarantee to restart read () if it is
interrupted by a signal. We do the read ourselves, and restart it
@@ -216,7 +216,6 @@ save_bash_input (fd, new_fd)
{
int nfd;
itrace("save_bash_input: %d -> %d", fd, new_fd);
/* Sync the stream so we can re-read from the new file descriptor. We
might be able to avoid this by copying the buffered stream verbatim
to the new file descriptor. */
@@ -279,7 +278,6 @@ int
check_bash_input (fd)
int fd;
{
itrace("check_bash_input: %d", fd);
if (fd_is_bash_input (fd))
{
if (fd > 0)
@@ -314,7 +312,13 @@ duplicate_buffered_stream (fd1, fd2)
(bash_input.location.buffered_fd == fd2);
if (buffers[fd2])
free_buffered_stream (buffers[fd2]);
{
/* If the two objects share the same b_buffer, don't free it. */
if (buffers[fd1]->b_buffer == buffers[fd2]->b_buffer)
buffers[fd2] = (BUFFERED_STREAM *)NULL;
else
free_buffered_stream (buffers[fd2]);
}
buffers[fd2] = copy_buffered_stream (buffers[fd1]);
if (buffers[fd2])
buffers[fd2]->b_fd = fd2;
+1
View File
@@ -382,6 +382,7 @@ make_pattern_list (patterns, action)
temp->patterns = REVERSE_LIST (patterns, WORD_LIST *);
temp->action = action;
temp->next = NULL;
temp->flags = 0;
return (temp);
}
+10 -15
View File
@@ -2703,9 +2703,8 @@ read_token (command)
/*
* Match a $(...) or other grouping construct. This has to handle embedded
* quoted strings ('', ``, "") and nested constructs. It also must handle
* reprompting the user, if necessary, after reading a newline (unless the
* P_NONL flag is passed), and returning correct error values if it reads
* EOF.
* reprompting the user, if necessary, after reading a newline, and returning
* correct error values if it reads EOF.
*/
#define P_FIRSTCLOSE 0x01
#define P_ALLOWESC 0x02
@@ -2852,6 +2851,7 @@ parse_matched_pair (qc, open, close, lenp, flags)
else if MBTEST(open == '"' && ch == '`')
{
nestret = parse_matched_pair (0, '`', '`', &nestlen, rflags);
add_nestret:
if (nestret == &matched_pair_error)
{
free (ret);
@@ -2865,6 +2865,11 @@ parse_matched_pair (qc, open, close, lenp, flags)
}
FREE (nestret);
}
else if MBTEST(qc == '`' && (ch == '"' || ch == '\''))
{
nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags);
goto add_nestret;
}
else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
/* check for $(), $[], or ${} inside quoted string. */
{
@@ -2876,18 +2881,8 @@ parse_matched_pair (qc, open, close, lenp, flags)
nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
else if (ch == '[') /* ] */
nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
if (nestret == &matched_pair_error)
{
free (ret);
return &matched_pair_error;
}
if (nestlen)
{
RESIZE_MALLOCED_BUFFER (ret, retind, nestlen, retsize, 64);
strcpy (ret + retind, nestret);
retind += nestlen;
}
FREE (nestret);
goto add_nestret;
}
was_dollar = MBTEST(ch == '$');
}
+4891
View File
File diff suppressed because it is too large Load Diff
+8 -3
View File
@@ -2703,9 +2703,8 @@ read_token (command)
/*
* Match a $(...) or other grouping construct. This has to handle embedded
* quoted strings ('', ``, "") and nested constructs. It also must handle
* reprompting the user, if necessary, after reading a newline (unless the
* P_NONL flag is passed), and returning correct error values if it reads
* EOF.
* reprompting the user, if necessary, after reading a newline, and returning
* correct error values if it reads EOF.
*/
#define P_FIRSTCLOSE 0x01
#define P_ALLOWESC 0x02
@@ -2852,6 +2851,7 @@ parse_matched_pair (qc, open, close, lenp, flags)
else if MBTEST(open == '"' && ch == '`')
{
nestret = parse_matched_pair (0, '`', '`', &nestlen, rflags);
add_nestret:
if (nestret == &matched_pair_error)
{
free (ret);
@@ -2865,6 +2865,11 @@ parse_matched_pair (qc, open, close, lenp, flags)
}
FREE (nestret);
}
else if MBTEST(qc == '`' && (ch == '"' || ch == '\''))
{
nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags);
goto add_nestret;
}
else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
/* check for $(), $[], or ${} inside quoted string. */
{
+7 -5
View File
@@ -1,6 +1,6 @@
/* shell.c -- GNU's idea of the POSIX shell specification. */
/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
/* Copyright (C) 1987-2005 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -362,7 +362,7 @@ main (argc, argv, env)
#endif /* __CYGWIN__ */
/* Wait forever if we are debugging a login shell. */
while (debugging_login_shell);
while (debugging_login_shell) sleep (3);
set_default_locale ();
@@ -387,6 +387,8 @@ main (argc, argv, env)
/* Initialize `local' variables for all `invocations' of main (). */
arg_index = 1;
if (arg_index > argc)
arg_index = argc;
command_execution_string = (char *)NULL;
want_pending_command = locally_skip_execution = read_from_stdin = 0;
default_input = stdin;
@@ -1272,7 +1274,7 @@ bind_args (argv, arg_start, arg_end, start_index)
register int i;
WORD_LIST *args;
for (i = arg_start, args = (WORD_LIST *)NULL; i != arg_end; i++)
for (i = arg_start, args = (WORD_LIST *)NULL; i < arg_end; i++)
args = make_word_list (make_word (argv[i]), args);
if (args)
{
@@ -1523,7 +1525,7 @@ set_shell_name (argv0)
{
/* Here's a hack. If the name of this shell is "sh", then don't do
any startup files; just try to be more like /bin/sh. */
shell_name = base_pathname (argv0);
shell_name = argv0 ? base_pathname (argv0) : PROGRAM;
if (*shell_name == '-')
{
@@ -1536,7 +1538,7 @@ set_shell_name (argv0)
if (shell_name[0] == 's' && shell_name[1] == 'u' && shell_name[2] == '\0')
su_shell++;
shell_name = argv0;
shell_name = argv0 ? argv0 : PROGRAM;
FREE (dollar_vars[0]);
dollar_vars[0] = savestring (shell_name);
+10 -2
View File
@@ -25,8 +25,12 @@
#include "posixtime.h"
#if defined (qnx)
# include <sys/vc.h>
#endif
# if defined (qnx6)
# include <sy/netmgr.h>
# else
# include <sys/vc.h>
# endif /* !qnx6 */
#endif /* qnx */
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
@@ -377,7 +381,11 @@ initialize_shell_variables (env, privmode)
/* set node id -- don't import it from the environment */
{
char node_name[22];
# if defined (qnx6)
netmgr_ndtostr(ND2S_LOCAL_STR, ND_LOCAL_NODE, node_name, sizeof(node_name));
# else
qnx_nidtostr (getnid (), node_name, sizeof (node_name));
# endif
temp_var = bind_variable ("NODE", node_name, 0);
set_auto_export (temp_var);
}