.
OBS-URL: https://build.opensuse.org/package/show/shells/ksh?expand=0&rev=144
This commit is contained in:
parent
88e8772d9e
commit
1644ebabb5
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f60890b21701470900a61961a77743f8671b4ac5c4939ae4c7baf6a97a1a52b2
|
||||
size 299600
|
3
INIT.2012-08-01.tar.bz2
Normal file
3
INIT.2012-08-01.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0b854435757829f9fbc9d24242192e2056069862d9c463bf8dcfb76b1f094c8b
|
||||
size 295820
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:77e138e0fffeb21a2cf0aaa7c1cc4400870bf017812d8745b9da7a9432a9351f
|
||||
size 8022544
|
3
ast-base.2012-08-01.tar.bz2
Normal file
3
ast-base.2012-08-01.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:81f4007679dad9a93b2a4ed241cbe2e86d1422ee3b74c4f905aaae1345070af2
|
||||
size 8035476
|
@ -1,6 +1,49 @@
|
||||
diff -N -r -u original/src/cmd/ksh93/bltins/poll.c build_poll/src/cmd/ksh93/bltins/poll.c
|
||||
--- src/cmd/ksh93/bltins/poll.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ src/cmd/ksh93/bltins/poll.c 2012-08-07 05:13:40.057935800 +0200
|
||||
--- src/cmd/ksh93/Makefile
|
||||
+++ src/cmd/ksh93/Makefile 2012-08-06 21:25:47.000000000 +0000
|
||||
@@ -161,6 +161,7 @@ DATAFILES = limits.c msg.c strdata.c tes
|
||||
|
||||
shell$(RELEASE) $(VERSION) id=shell :LIBRARY: shell.3 nval.3 alarm.c cd_pwd.c cflow.c deparse.c \
|
||||
enum.c getopts.c hist.c misc.c print.c read.c sleep.c trap.c test.c \
|
||||
+ poll.c \
|
||||
typeset.c ulimit.c umask.c whence.c main.c nvdisc.c nvtype.c \
|
||||
arith.c args.c array.c completion.c defs.c edit.c expand.c regress.c \
|
||||
fault.c fcin.c history.c init.c io.c jobs.c lex.c macro.c name.c \
|
||||
--- src/cmd/ksh93/Mamfile
|
||||
+++ src/cmd/ksh93/Mamfile 2012-08-06 21:25:47.000000000 +0000
|
||||
@@ -548,6 +548,22 @@ meta test.o %.c>%.o bltins/test.c test
|
||||
prev bltins/test.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_API_ast=20100309 -D_PACKAGE_ast -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_COSHELL -DSHOPT_HISTEXPAND -DERROR_CONTEXT_T=Error_context_t -DSHOPT_FIXEDARRAY -DSHOPT_ESH -DKSHELL -c bltins/test.c
|
||||
done test.o generated
|
||||
+
|
||||
+make poll.o
|
||||
+make bltins/poll.c
|
||||
+prev ${PACKAGE_ast_INCLUDE}/tmx.h implicit
|
||||
+prev FEATURE/poll implicit
|
||||
+prev FEATURE/externs implicit
|
||||
+prev include/builtins.h implicit
|
||||
+prev include/io.h implicit
|
||||
+prev ${PACKAGE_ast_INCLUDE}/error.h implicit
|
||||
+prev include/defs.h implicit
|
||||
+done bltins/poll.c
|
||||
+meta poll.o %.c>%.o bltins/poll.c test
|
||||
+prev bltins/poll.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_API_ast=20100309 -D_PACKAGE_ast -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_COSHELL -DSHOPT_DYNAMIC -DSHOPT_HISTEXPAND -DERROR_CONTEXT_T=Error_context_t -DSHOPT_FIXEDARRAY -DSHOPT_ESH -DKSHELL -c bltins/poll.c
|
||||
+done poll.o generated
|
||||
+
|
||||
make typeset.o
|
||||
make bltins/typeset.c
|
||||
prev FEATURE/dynamic implicit
|
||||
@@ -1328,7 +1344,7 @@ meta hexpand.o %.c>%.o edit/hexpand.c he
|
||||
prev edit/hexpand.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_HISTEXPAND -DSHOPT_EDPREDICT -DSHOPT_MULTIBYTE -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_COSHELL -D_BLD_shell -D_API_ast=20100309 -DERROR_CONTEXT_T=Error_context_t -DSHOPT_FIXEDARRAY -c edit/hexpand.c
|
||||
done hexpand.o generated
|
||||
-exec - ${AR} rc libshell.a alarm.o cd_pwd.o cflow.o deparse.o enum.o getopts.o hist.o misc.o print.o read.o sleep.o trap.o test.o typeset.o ulimit.o umask.o whence.o main.o nvdisc.o nvtype.o arith.o args.o array.o completion.o defs.o edit.o expand.o regress.o fault.o fcin.o
|
||||
+exec - ${AR} rc libshell.a alarm.o cd_pwd.o cflow.o deparse.o enum.o getopts.o hist.o misc.o poll.o print.o read.o sleep.o trap.o test.o typeset.o ulimit.o umask.o whence.o main.o nvdisc.o nvtype.o arith.o args.o array.o completion.o defs.o edit.o expand.o regress.o fault.o fcin.o
|
||||
exec - ${AR} rc libshell.a history.o init.o io.o jobs.o lex.o macro.o name.o nvtree.o parse.o path.o string.o streval.o subshell.o tdump.o timers.o trestore.o waitevent.o xec.o env.o limits.o msg.o strdata.o testops.o keywords.o options.o signals.o aliases.o builtins.o variables.o lexstates.o emacs.o vi.o hexpand.o
|
||||
exec - (ranlib libshell.a) >/dev/null 2>&1 || true
|
||||
done libshell.a generated
|
||||
--- src/cmd/ksh93/bltins/poll.c
|
||||
+++ src/cmd/ksh93/bltins/poll.c 2012-08-07 03:13:40.000000000 +0000
|
||||
@@ -0,0 +1,717 @@
|
||||
+/***********************************************************************
|
||||
+* *
|
||||
@ -719,10 +762,9 @@ diff -N -r -u original/src/cmd/ksh93/bltins/poll.c build_poll/src/cmd/ksh93/blti
|
||||
+
|
||||
+ return(retval);
|
||||
+}
|
||||
diff -N -r -u original/src/cmd/ksh93/data/builtins.c build_poll/src/cmd/ksh93/data/builtins.c
|
||||
--- src/cmd/ksh93/data/builtins.c 2012-06-19 10:02:12.000000000 +0200
|
||||
+++ src/cmd/ksh93/data/builtins.c 2012-08-06 23:25:47.431435123 +0200
|
||||
@@ -109,6 +109,7 @@
|
||||
--- src/cmd/ksh93/data/builtins.c
|
||||
+++ src/cmd/ksh93/data/builtins.c 2012-08-06 21:25:47.000000000 +0000
|
||||
@@ -109,6 +109,7 @@ const struct shtable3 shtab_builtins[] =
|
||||
#endif /* JOBS */
|
||||
"false", NV_BLTIN|BLT_ENV, bltin(false),
|
||||
"getopts", NV_BLTIN|BLT_ENV, bltin(getopts),
|
||||
@ -730,10 +772,9 @@ diff -N -r -u original/src/cmd/ksh93/data/builtins.c build_poll/src/cmd/ksh93/da
|
||||
"print", NV_BLTIN|BLT_ENV, bltin(print),
|
||||
"printf", NV_BLTIN|BLT_ENV, bltin(printf),
|
||||
"pwd", NV_BLTIN, bltin(pwd),
|
||||
diff -N -r -u original/src/cmd/ksh93/include/builtins.h build_poll/src/cmd/ksh93/include/builtins.h
|
||||
--- src/cmd/ksh93/include/builtins.h 2012-01-10 20:11:54.000000000 +0100
|
||||
+++ src/cmd/ksh93/include/builtins.h 2012-08-06 23:25:47.432435170 +0200
|
||||
@@ -100,6 +100,7 @@
|
||||
--- src/cmd/ksh93/include/builtins.h
|
||||
+++ src/cmd/ksh93/include/builtins.h 2012-08-06 21:25:47.000000000 +0000
|
||||
@@ -100,6 +100,7 @@ extern int b_wait(int, char*[],Shbltin_t
|
||||
extern int b_whence(int, char*[],Shbltin_t*);
|
||||
|
||||
extern int b_alarm(int, char*[],Shbltin_t*);
|
||||
@ -741,55 +782,8 @@ diff -N -r -u original/src/cmd/ksh93/include/builtins.h build_poll/src/cmd/ksh93
|
||||
extern int b_print(int, char*[],Shbltin_t*);
|
||||
extern int b_printf(int, char*[],Shbltin_t*);
|
||||
extern int b_pwd(int, char*[],Shbltin_t*);
|
||||
diff -N -r -u original/src/cmd/ksh93/Makefile build_poll/src/cmd/ksh93/Makefile
|
||||
--- src/cmd/ksh93/Makefile 2012-06-19 09:46:54.000000000 +0200
|
||||
+++ src/cmd/ksh93/Makefile 2012-08-06 23:25:47.432435170 +0200
|
||||
@@ -161,6 +161,7 @@
|
||||
|
||||
shell$(RELEASE) $(VERSION) id=shell :LIBRARY: shell.3 nval.3 alarm.c cd_pwd.c cflow.c deparse.c \
|
||||
enum.c getopts.c hist.c misc.c print.c read.c sleep.c trap.c test.c \
|
||||
+ poll.c \
|
||||
typeset.c ulimit.c umask.c whence.c main.c nvdisc.c nvtype.c \
|
||||
arith.c args.c array.c completion.c defs.c edit.c expand.c regress.c \
|
||||
fault.c fcin.c history.c init.c io.c jobs.c lex.c macro.c name.c \
|
||||
diff -N -r -u original/src/cmd/ksh93/Mamfile build_poll/src/cmd/ksh93/Mamfile
|
||||
--- src/cmd/ksh93/Mamfile 2012-07-27 18:05:35.000000000 +0200
|
||||
+++ src/cmd/ksh93/Mamfile 2012-08-06 23:25:47.432435170 +0200
|
||||
@@ -548,6 +548,22 @@
|
||||
prev bltins/test.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_API_ast=20100309 -D_PACKAGE_ast -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_COSHELL -DSHOPT_HISTEXPAND -DERROR_CONTEXT_T=Error_context_t -DSHOPT_FIXEDARRAY -DSHOPT_ESH -DKSHELL -c bltins/test.c
|
||||
done test.o generated
|
||||
+
|
||||
+make poll.o
|
||||
+make bltins/poll.c
|
||||
+prev ${PACKAGE_ast_INCLUDE}/tmx.h implicit
|
||||
+prev FEATURE/poll implicit
|
||||
+prev FEATURE/externs implicit
|
||||
+prev include/builtins.h implicit
|
||||
+prev include/io.h implicit
|
||||
+prev ${PACKAGE_ast_INCLUDE}/error.h implicit
|
||||
+prev include/defs.h implicit
|
||||
+done bltins/poll.c
|
||||
+meta poll.o %.c>%.o bltins/poll.c test
|
||||
+prev bltins/poll.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_API_ast=20100309 -D_PACKAGE_ast -D_BLD_shell -DSHOPT_DYNAMIC -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_COSHELL -DSHOPT_DYNAMIC -DSHOPT_HISTEXPAND -DERROR_CONTEXT_T=Error_context_t -DSHOPT_FIXEDARRAY -DSHOPT_ESH -DKSHELL -c bltins/poll.c
|
||||
+done poll.o generated
|
||||
+
|
||||
make typeset.o
|
||||
make bltins/typeset.c
|
||||
prev FEATURE/dynamic implicit
|
||||
@@ -1328,7 +1344,7 @@
|
||||
prev edit/hexpand.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_HISTEXPAND -DSHOPT_EDPREDICT -DSHOPT_MULTIBYTE -DKSHELL -DSHOPT_ESH -DSHOPT_VSH -D_PACKAGE_ast -DSHOPT_PFSH -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_COSHELL -DSHOPT_DYNAMIC -D_BLD_shell -DERROR_CONTEXT_T=Error_context_t -D_API_ast=20100309 -DSHOPT_FIXEDARRAY -c edit/hexpand.c
|
||||
done hexpand.o generated
|
||||
-exec - ${AR} rc libshell.a alarm.o cd_pwd.o cflow.o deparse.o enum.o getopts.o hist.o misc.o print.o read.o sleep.o trap.o test.o typeset.o ulimit.o umask.o whence.o main.o nvdisc.o nvtype.o arith.o args.o array.o completion.o defs.o edit.o expand.o regress.o fault.o fcin.o
|
||||
+exec - ${AR} rc libshell.a alarm.o cd_pwd.o cflow.o deparse.o enum.o getopts.o hist.o misc.o poll.o print.o read.o sleep.o trap.o test.o typeset.o ulimit.o umask.o whence.o main.o nvdisc.o nvtype.o arith.o args.o array.o completion.o defs.o edit.o expand.o regress.o fault.o fcin.o
|
||||
exec - ${AR} rc libshell.a history.o init.o io.o jobs.o lex.o macro.o name.o nvtree.o parse.o path.o string.o streval.o subshell.o tdump.o timers.o trestore.o waitevent.o xec.o env.o limits.o msg.o strdata.o testops.o keywords.o options.o signals.o aliases.o builtins.o variables.o lexstates.o emacs.o vi.o hexpand.o
|
||||
exec - (ranlib libshell.a) >/dev/null 2>&1 || true
|
||||
done libshell.a generated
|
||||
diff -N -r -u original/src/cmd/ksh93/tests/builtin_poll.sh build_poll/src/cmd/ksh93/tests/builtin_poll.sh
|
||||
--- src/cmd/ksh93/tests/builtin_poll.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ src/cmd/ksh93/tests/builtin_poll.sh 2012-08-07 03:22:34.753348550 +0200
|
||||
--- src/cmd/ksh93/tests/builtin_poll.sh
|
||||
+++ src/cmd/ksh93/tests/builtin_poll.sh 2012-08-07 01:22:35.000000000 +0000
|
||||
@@ -0,0 +1,100 @@
|
||||
+########################################################################
|
||||
+# #
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/lib/libast/features/lib
|
||||
+++ src/lib/libast/features/lib 2007-03-28 17:49:29.241351031 +0200
|
||||
@@ -90,27 +90,6 @@ tst lib_poll_fd_1 note{ fd is first arg
|
||||
+++ src/lib/libast/features/lib 2007-03-28 15:49:29.000000000 +0000
|
||||
@@ -92,27 +92,6 @@ tst lib_poll_fd_1 note{ fd is first arg
|
||||
}
|
||||
}end
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
exp _lib_poll _lib_poll_fd_1||_lib_poll_fd_2
|
||||
|
||||
tst lib_poll_notimer note{ poll with no fds ignores timeout }end execute{
|
||||
@@ -224,74 +203,6 @@ tst real_vfork note{ vfork child shares
|
||||
@@ -241,74 +220,6 @@ tst real_vfork note{ vfork child shares
|
||||
}
|
||||
}end
|
||||
|
||||
|
227
ksh.changes
227
ksh.changes
@ -1,3 +1,230 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 5 17:41:08 UTC 2013 - werner@suse.de
|
||||
|
||||
- Update to 2012-08-01 of ksh93u+ for bugfix version
|
||||
12-08-01 A bug that ignored interrupts for some builtins (e.g. cmdtst::grep)
|
||||
that read from stdin has been fixed.
|
||||
12-08-01 A bug that interpreted "cd .foo" as "cd foo" has been fixed.
|
||||
12-07-30 Added automatic restart for EINTR for ioctl, tcgetattr, and tcsetattr.
|
||||
12-07-23 A scoping error with namrefs to compound associative arrays has
|
||||
been fixed.
|
||||
12-07-20 A bug where builtin -d /path/foo deleted foo has been fixed.
|
||||
12-07-18 A bug in which /dev/stdout did not work in command substitution on
|
||||
some systems has been fixed.
|
||||
12-07-17 A bug in which the restricted option set in a subshell prevented
|
||||
some variables from getting restored when the subshell completed
|
||||
has been fixed.
|
||||
12-07-09 A bug in which the directory is not restored after a subshell changes
|
||||
the name of the directory for subshells executed in the same process
|
||||
has been fixed.
|
||||
12-07-09 A bug in which file descriptors created with {n}< file were not being
|
||||
closed has been fixed.
|
||||
12-07-09 The 12-04-04 fix for cd .. was not correct causing cd /etc;cd .. to
|
||||
remain in /etc. This has been fixed.
|
||||
12-07-02 A bug in which builtin name did now work for builtins found in a
|
||||
library added by builtin -f lib has been fixed.
|
||||
12-07-02 A bug in the edit modes which <tab> after a directory did not refresh
|
||||
the input line has been fixed.
|
||||
12-07-02 A bug in which an exit status > 256 corresponding to a signal was
|
||||
not returned by a function to indicate a signal exit has been fixed.
|
||||
12-06-28 Fix ulimit -a to list (Kibytes) instead of (kbytes).
|
||||
12-06-27 Fix unitialized data reference for <CR> as first char in --vi mode.
|
||||
12-06-26 The formatting of printf "%q" for multibyte locales has changed to
|
||||
output using \u[xxx] format for valid wide characters.
|
||||
12-06-25 The size limit for read -N and read -n has been raised to INT_MAX.
|
||||
12-06-22 A bug in which an exit trap set in a subshell might not be triggered
|
||||
when the last command was a simple executable has been fixed.
|
||||
12-06-22 A bug which could cause the shell to hang when a coprocess exits
|
||||
while a command inside a command substitution is reading from it has
|
||||
been fixed.
|
||||
12-06-21 +ksh new accepts for commands of the form for i; <nl> do;...;done
|
||||
12-06-19 Tab completion after a / when there is only one match not completes
|
||||
with that match rather than generating a menu of matches.
|
||||
12-06-19 A bug in which patterns containing {...} where not processed
|
||||
correctly inside ${var/pattern/string} has been fixed.
|
||||
12-06-18 Code modified to eliminate fts_notify variable.
|
||||
12-06-15 Change the .paths plugin/builtin library variable name from
|
||||
BUILTIN_LIB to PLUGIN_LIB to prevent new plugin_version() aware
|
||||
-lcmd from causing older non-plugin_version() aware ksh to dump core.
|
||||
12-06-14 builtin without argument no longer lists .sh.tilde as a built-in.
|
||||
12-06-12 For assignments if the form x=(foo bar), foo is only check for an
|
||||
alias if it is float, integer, compound, or nameref.
|
||||
12-06-12 +The shell supports 64 bit i-nodes even for 32 bit binaries.
|
||||
12-06-11 A bug wth >; redirection systems for which vfork() was the same a
|
||||
fork() has been fixed.
|
||||
12-06-11 A bug in path lookup that ignored buffer boundaries has been fixed.
|
||||
12-06-08 typeset -a var and typeset -A var, first unset var when var is
|
||||
a compound variable.
|
||||
12-06-08 A bug in which running shcomp on a program containg namespace
|
||||
could core dump has been fixed.
|
||||
12-06-06 A bug in which unset of an associative array of compound variables
|
||||
did not completely unset the variable has been fixed.
|
||||
12-06-06 A bug in which exporting left or right justfied fields could loose
|
||||
the field width has been fixed.
|
||||
12-06-06 A bug on Solaris11 in which >; did not work for /dev/null was fixed.
|
||||
12-06-05 A race condition which occured when stopping a builtin command
|
||||
invoked from a subshell has been fixed.
|
||||
12-06-05 A bug with appending elements to an empty indexed array has been
|
||||
fixed.
|
||||
12-06-04 A bug in which continuing a stopped builtin could cause it to
|
||||
terminate has been fixed.
|
||||
12-06-04 By default, builtins added at runtime will restore the current
|
||||
directory if they are killed or stopped.
|
||||
12-06-04 A bug in handling \\ in read has been fixed.
|
||||
12-05-31 Use getrlimit64/setrlimit64 on systems that support it.
|
||||
12-05-31 Fix 64 bit big-endian arithmentic bug that mishandled nan and inf.
|
||||
12-05-31 Handle ECONNRESET like EPIPE.
|
||||
12-05-31 Change .paths parse to use only the last BUILTIN_LIB from the top
|
||||
and treat BUILTIN_LIB value as a ':' separated list of lib names.
|
||||
12-05-29 Fix BUILTIN_LIB binding bug that ignored subsequent lookups.
|
||||
12-05-29 shtests: --nocompile omits the compile test and --compile does only
|
||||
the compile test.
|
||||
12-05-25 A command subsitution containing a here-document that itself contains
|
||||
a here-document no longer hangs.
|
||||
12-05-24 When the redirection operatory >; is directed to a symlink, it now
|
||||
overwrites the file named by the link rather than the link.
|
||||
12-05-21 +Added printf formats %(type)q where type can be html, url, pattern,
|
||||
ere, or csv.
|
||||
12-05-18 A bug with appending elements to an indexed array has been fixed.
|
||||
12-05-18 The exit status from getopts --man interactively was 0 instead of 2
|
||||
and has been fixed.
|
||||
12-05-18 Another bug with SHOPT_EDPREDICT which could cause a core dump has
|
||||
been fixed.
|
||||
12-05-17 A bug with fixed size arrays which could cause a core dump has been
|
||||
fixed.
|
||||
12-05-17 A bug in which the here-document <<< $(<file) was not processed
|
||||
correctly has been fixed.
|
||||
12-05-15 The default value for -L, -R, and -Z when the size was not set was
|
||||
incorrectly defaulting to 1 and has been fixed.
|
||||
12-05-15 A bug in which a subshell of the form (name=value exec ...) could
|
||||
coredump when name is an environment variable and xtrace is on has
|
||||
been fixed.
|
||||
12-05-15 Fixed a .paths bug in which only the first BUILTIN_LIB assignment worked.
|
||||
12-05-14 Arithmetic expressions and subexpressions that are not floating point
|
||||
now treat -0 as 0, so that $((-0)) is 0 and $((-0.0)) is -0.
|
||||
12-05-11 'unset .sh' now fails with readonly message instead of coredump.
|
||||
12-05-11 A bug which left an associative array arr containing one element in
|
||||
the wrong state after expanding with ${arr[@]} has been fixed.
|
||||
12-05-10 A bug in which typeset -f did not display options that called getopts
|
||||
has been fixed.
|
||||
12-05-08 Fixed a number of potential bugs uncovered by valgrind.
|
||||
12-05-08 A bug in which typeset -b -Z10 var did not initialize var to the
|
||||
empty string has been fixed.
|
||||
12-05-07 A bug in which the exit value of an interactive shell could be
|
||||
affected by the evaluation of the PS1 prompt has been fixed.
|
||||
12-05-04 A bug in which x=() was not unsetting the old value of x before
|
||||
creating an empty compound variable has been fixed.
|
||||
12-05-01 A bug in vi edit mode in which after <ESC>^V, the terminal was not
|
||||
restored to insert mode after a character is entered has been fixed.
|
||||
12-04-27 A bug in which old attributes were not cleared when assigning a
|
||||
value using typeset has been fixed.
|
||||
12-04-26 +Enabled multiline editing by default. set +o multiline can disable.
|
||||
12-04-25 The 12-04-17 PATH fix created a new bug which was fixed.
|
||||
12-04-25 Fixed a big memory leak problem in which unsetting compound variables
|
||||
did not free all the space.
|
||||
12-04-25 A bug in which test ! ! ! was treated as an error has been fixed.
|
||||
12-04-24 A bug with print -v for a compound variable that contained fixed
|
||||
arrays which prevented the output from being used again as input
|
||||
has been fixed.
|
||||
12-04-23 +kill provides the STKFLT signal on systems that support it.
|
||||
12-04-23 +The -L option was added to kill. The -L option is the same as -l
|
||||
except that without arguments the output format is in the form of
|
||||
a select menu.
|
||||
12-04-23 A bug in which the exit status for an interactive shell was always
|
||||
0 has been fixed.
|
||||
12-04-20 Entering blank lines interactively no longer resets the exit status.
|
||||
12-04-18 A bug in file completion in which the second tab completion on a file
|
||||
would list the completion rather than inserting the completion has
|
||||
been fixed.
|
||||
12-04-18 A bug in which "${arr[@]:i:j}" and "${@:i:j}" generated the empty
|
||||
string when i was a valid subscript and j was <=0 rather than
|
||||
generating nothing has been fixed.
|
||||
12-04-17 A bug in which read -d delim from a terminal did not respond to
|
||||
interrupt and did not termrinate when the delimiter was entered
|
||||
has been fixed.
|
||||
12-04-17 A bug in which a directory in PATH containing a .paths file that
|
||||
contains a line with FPATH=dir, where dir does not exist could
|
||||
cause the path search to fail has been fixed.
|
||||
12-04-16 A bug in which $(trap -p) did not display traps such as ERR and
|
||||
DEBUG that are not associated with signals has been fixed.
|
||||
12-04-11 A bug in which unsetting a variable did not unset attributes when
|
||||
the variable did not have a value has been fixed.
|
||||
12-04-11 A bug in which read -A for an array whose index is an enumeration
|
||||
type, lost the enumeration type has been fixed.
|
||||
12-04-10 Shared libraries loaded from a library named by a BUILTIN_LIB= found
|
||||
in a .paths file found in a directory on PATH now add builtins that
|
||||
are associated with the directory in PATH containing the .paths file.
|
||||
12-04-09 Increased I/O buffer sizes for better performance.
|
||||
12-04-09 A bug in which the leading 0 was stripped from $x, when $x contained
|
||||
a heximadecimal constant inside an arithmetic expression inside
|
||||
a for or while loop.
|
||||
12-04-06 Modified namespaces to hand variabes FPATH, PATH, and OPTIND that
|
||||
are defined in name spaces appropriately. This also fixed OPTIND
|
||||
and OPTARG processing for functions.
|
||||
12-04-04 A bug in which cd .. fails when the current directory has been
|
||||
renamed has been fixed.
|
||||
12-04-02 Made some namespace changes and added a regression test.
|
||||
12-03-30 A bug with namespaces in which PATH and FPATH set in a namespace was
|
||||
not restored when leaving the namespace has been fixed.
|
||||
12-03-29 A bug in which appending an index array onto an array without elements
|
||||
caused the first element to be 1 rather than 0 has been fixed.
|
||||
12-03-29 A bug which could cause a core dump when copying a large index array
|
||||
has been fixed.
|
||||
12-03-28 The shell now generates an error message when the sizes with L, Z, and
|
||||
R are > 32767 on 32 bit binaries instead of generating a core dump.
|
||||
12-03-28 A bug in left and right justification in which the width of invalid
|
||||
characters was not taken as zero has been fixed.
|
||||
12-03-26 A bug in which typeset -p ref, when ref is a reference to an index
|
||||
array element did not display the subscript has been fixed.
|
||||
12-03-23 A bug in lowercase and uppercase fields when expanding ${name:=val}
|
||||
when name is the empty string has been fixed.
|
||||
12-03-22 A namespace bug in which a type t defined in namespace foo could not
|
||||
be referenced outside the namespace as .foo.t has been fixed.
|
||||
12-03-22 A bug in name reference scoping in which a name function called from
|
||||
another function is pass a name reference to a compound variable
|
||||
instance to be created and the compound variable is in the global
|
||||
scope.
|
||||
12-03-22 A bug in which ${ref[@}} did not behave like ${arr[i][@]} when
|
||||
ref is a name reference to arr[i] has been fixed.
|
||||
12-03-21 A bug in which assigning a compound variable into arr[i], where
|
||||
arr[i] is an array variable did not work correctly has been fixed.
|
||||
12-03-21 A bug with multi-dimenstional index arrays in which ${arr[i][j]}
|
||||
could generate a bogus error message when i was > 9 has been fixed.
|
||||
12-03-21 A bug in which typeset v=foo, typeset -p v[0] generated a core dump
|
||||
has been fixed.
|
||||
12-03-20 A bug in vi edit mode in which the sequence bar<ESC>0i<ESC>l left the
|
||||
cursor on the b rather than the a has been fixed.
|
||||
12-03-20 A bug which caused a core dump when defining a type with a field
|
||||
as ' integer -a data=([0]=0)' has been fixed.
|
||||
12-03-19 Using typeset -a array when array is an associative arry not
|
||||
generated an error message.
|
||||
12-03-19 typeset +a, typeset +A, and typeset +C not displays the variables
|
||||
with the attributes a, A, and C respectively instead of an error.
|
||||
12-03-19 A bug in which typeset -pC, typeset -pa, and typeset -pA output all
|
||||
variables rather than those of type C, a, or A only has been fixed.
|
||||
12-03-18 A bug in which unset foo where foo is a name reference to a compound
|
||||
variable defined inside a function is not unset has been fixed.
|
||||
12-03-18 A bug with SHOPT_EDPREDICT which could cause a core dump when the
|
||||
list of matches became empty has been fixed.
|
||||
12-03-15 The assignment, typeset -C foo=(a b c) now generates a syntax
|
||||
error since a is not an assignment command.
|
||||
12-03-16 A bug in which an unset discipline from a variable defined in a
|
||||
subshell is not invoked in the subshell has been fixed.
|
||||
12-03-08 The assignment typeset -a (x=1 y=2) now creates an index array
|
||||
of two elements rathern than an array of one element which is
|
||||
a compound variable.
|
||||
12-03-02 +The vi and emacs edit modes now list all the entries in a directory
|
||||
when entering a <tab> for completion after a /.
|
||||
12-03-02 A bug in which a program that exits with value 12 when called
|
||||
from a command substitution in which standard output has been
|
||||
redirected caused the shell to hang has been fixed.
|
||||
12-03-01 A bug in which the shell could not parse [[ ']' == ~(E)[]] ]]
|
||||
has been fixed.
|
||||
12-02-29 A bug in which ~user expanded first in a subshell prevented it
|
||||
from expanding later in a program has been fixed.
|
||||
- Remove our patches which are part of this update
|
||||
- Re-add Shift-JIS patch to make it work again
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 30 11:17:34 UTC 2013 - werner@suse.de
|
||||
|
||||
|
24
ksh.spec
24
ksh.spec
@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
Name: ksh
|
||||
%global date 2012-02-29
|
||||
%global date 2012-08-01
|
||||
%global use_suid_exe 0
|
||||
%if %suse_version > 1210
|
||||
%global use_opt_bins 1
|
||||
@ -108,16 +108,17 @@ Patch21: ksh93-vm.dif
|
||||
Patch22: ksh93-limit-name-len.dif
|
||||
Patch23: ksh93-foreground-prgrp.dif
|
||||
Patch24: ksh93-builtin.dif
|
||||
Patch25: ksh93-vmleak.dif
|
||||
# PATCH-FIX-UPSTREAM ksh93-read-dont-ignore-esc.dif [bnc#765171]
|
||||
Patch26: ksh93-read-dont-ignore-esc.dif
|
||||
# is part of ksh93u+ 2012-06-28
|
||||
# PATCH-EXTEND-UPSTREAM astksh_builtin_poll20120806_001.diff [bnc#779888]
|
||||
Patch27: astksh_builtin_poll20120806_001.diff
|
||||
# PATCH-FIX-UPSTREAM ksh93-env.dif [bnc#785266]
|
||||
Patch28: ksh93-env.dif
|
||||
# PATCH-FIX-UPSTREAM ksh93-zerofill.dif [bnc#785360]
|
||||
Patch29: ksh93-zerofill.dif
|
||||
# PATCH-FIX-UPSTREAM ksh93-pathtemp.dif [bnc#786134]
|
||||
# PATCH-EXTEND-UPSTREAM ksh93-pathtemp.dif [bnc#786134]
|
||||
# the fix is part of ksh93u+ 2012-06-28
|
||||
# nevertheless the /dev/shm extension is useful
|
||||
Patch30: ksh93-pathtemp.dif
|
||||
# PATCH-FIX-UPSTREAM ksh93-dttree-crash.dif [bnc#795324]
|
||||
Patch31: ksh93-dttree-crash.dif
|
||||
@ -201,8 +202,6 @@ fi
|
||||
%patch22
|
||||
%patch23
|
||||
%patch24
|
||||
%patch25
|
||||
%patch26
|
||||
%patch27
|
||||
%patch28
|
||||
%patch29
|
||||
@ -316,14 +315,15 @@ fi
|
||||
# Do not use -DSHOPT_SPAWN=1 and/or -DSHOPT_AMP=1 this would cause
|
||||
# errors due race conditions while executing the test suite.
|
||||
#
|
||||
feature=${TMPDIR:-/tmp}/feature.h
|
||||
feature=${PWD}/.feature.h
|
||||
set -C
|
||||
(cat > $feature)<<-'EOF'
|
||||
#define SHOPT_FS_3D 0
|
||||
#define SHOPT_SYSRC 1
|
||||
#define SHOPT_REMOTE 1
|
||||
#define SHOPT_CMDLIB_BLTIN 1
|
||||
#define SHOPT_CMDLIB_DIR 1
|
||||
#define SHOPT_CMDLIB_HDR <cmdlist.h>
|
||||
#define SHOPT_CMDLIB_DIR "/%{_lib}/ast/bin"
|
||||
#define SH_CMDLIB_DIR "/%{_lib}/ast/bin"
|
||||
#define THISPROG "/%{_lib}/ast/bin/suid_exec"
|
||||
#define _AST_std_malloc 0
|
||||
@ -425,8 +425,9 @@ fi
|
||||
# by this library simply to avoid that gcc will overwrites those with
|
||||
# its own builtin functions.
|
||||
#
|
||||
bin/package make ast-ast CCFLAGS="$RPM_OPT_FLAGS -fno-builtin" HOSTTYPE="$HOSTTYPE" AR="$AR" CC="$CC"
|
||||
bin/package view
|
||||
root=$(echo ${PWD}/arch/linux*)
|
||||
bin/package make ast-ast CCFLAGS="$RPM_OPT_FLAGS -fno-builtin -I${root}/include" HOSTTYPE="$HOSTTYPE" AR="$AR" CC="$CC"
|
||||
test -d $root || exit 1
|
||||
log=${root}/lib/package/gen/make.out
|
||||
test -s $log || exit 1
|
||||
@ -448,7 +449,7 @@ fi
|
||||
ln -sf ${lib}.so.${vers} ${root}/lib/${lib}.so
|
||||
popd
|
||||
done
|
||||
nobuiltin=${TMPDIR:-/tmp}/nobuiltin
|
||||
nobuiltin=${PWD}/.nobuiltin
|
||||
nm -D ${root}/lib/libast.so | \
|
||||
grep -E 'T[[:blank:]](_ast_)?(str|mem|(get|put|set)env|(c|m|re|v)alloc)' | \
|
||||
sed -r 's/[[:xdigit:]]+[[:blank:]]+T[[:blank:]]+(_ast_)?([^[:blank:]]*)/-fno-builtin-\2/' | \
|
||||
@ -465,7 +466,8 @@ fi
|
||||
*) cflags @$nobuiltin RPM_OPT_FLAGS
|
||||
esac
|
||||
|
||||
bin/package make CCFLAGS="$RPM_OPT_FLAGS" HOSTTYPE="$HOSTTYPE" AR="$AR" CC="$CC"
|
||||
export > .env
|
||||
bin/package make CCFLAGS="$RPM_OPT_FLAGS -I${root}/include" HOSTTYPE="$HOSTTYPE" AR="$AR" CC="$CC"
|
||||
root=$(echo ${PWD}/arch/linux*)
|
||||
test -d $root || exit 1
|
||||
log=${root}/lib/package/gen/make.out
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/builtin/pty.c
|
||||
+++ src/cmd/builtin/pty.c 2012-02-13 13:35:02.577933517 +0000
|
||||
@@ -215,6 +215,12 @@ mkpty(int* master, int* slave)
|
||||
+++ src/cmd/builtin/pty.c 2013-02-01 15:59:52.697952156 +0000
|
||||
@@ -216,6 +216,12 @@ mkpty(int* master, int* slave)
|
||||
#if !_lib_openpty
|
||||
char* sname;
|
||||
#endif
|
||||
@ -13,7 +13,7 @@
|
||||
/*
|
||||
* some systems hang hard during the handshake
|
||||
* if you know why then please let us know
|
||||
@@ -237,6 +243,12 @@ mkpty(int* master, int* slave)
|
||||
@@ -238,6 +244,12 @@ mkpty(int* master, int* slave)
|
||||
error(-1, "unable to get standard error window size");
|
||||
}
|
||||
#endif
|
||||
@ -26,10 +26,10 @@
|
||||
#if _lib_openpty
|
||||
if (openpty(master, slave, NULL, ttyp, winp) < 0)
|
||||
return -1;
|
||||
@@ -276,6 +288,9 @@ mkpty(int* master, int* slave)
|
||||
#endif
|
||||
fcntl(*master, F_SETFD, FD_CLOEXEC);
|
||||
@@ -279,6 +291,9 @@ mkpty(int* master, int* slave)
|
||||
#if !O_cloexec
|
||||
fcntl(*slave, F_SETFD, FD_CLOEXEC);
|
||||
#endif
|
||||
+#ifdef __linux__
|
||||
+ sigprocmask(SIG_SETMASK, &oldset, NULL);
|
||||
+#endif
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/lib/libast/astsa/ast.h
|
||||
+++ src/lib/libast/astsa/ast.h 2012-02-21 12:03:32.810434306 +0000
|
||||
@@ -94,6 +94,12 @@ typedef struct
|
||||
+++ src/lib/libast/astsa/ast.h 2012-02-21 12:03:33.000000000 +0000
|
||||
@@ -93,6 +93,12 @@ typedef struct
|
||||
#define pointerof(x) ((void*)((char*)0+(x)))
|
||||
#define roundof(x,y) (((x)+(y)-1)&~((y)-1))
|
||||
|
||||
@ -13,8 +13,47 @@
|
||||
#ifndef offsetof
|
||||
#define offsetof(type,member) ((unsigned long)&(((type*)0)->member))
|
||||
#endif
|
||||
--- src/lib/libast/features/libpath.sh
|
||||
+++ src/lib/libast/features/libpath.sh 2007-03-30 16:45:55.000000000 +0000
|
||||
@@ -21,7 +21,7 @@
|
||||
########################################################################
|
||||
ok=0
|
||||
for i in \
|
||||
- -x /lib/ld.so /lib/ld-*.so /usr/lib/ld.so /lib/rld \
|
||||
+ -x /lib64/ld.so /lib/ld.so /lib64/ld-*.so /lib/ld-*.so /usr/lib/ld.so /lib/rld \
|
||||
-f /usr/shlib/libc.so /shlib/libc.so /usr/lib/libc.so \
|
||||
-r /usr/shlib/libc.so /shlib/libc.so
|
||||
do case $i in
|
||||
--- src/lib/libast/features/map.c
|
||||
+++ src/lib/libast/features/map.c 2009-12-09 11:13:24.000000000 +0000
|
||||
@@ -67,10 +67,14 @@ main()
|
||||
#define _map_malloc 1
|
||||
printf("\n");
|
||||
printf("#define _map_libc 1\n");
|
||||
+#endif
|
||||
+#if _map_libc || defined(__linux__)
|
||||
printf("#undef basename\n");
|
||||
printf("#define basename _ast_basename\n");
|
||||
printf("#undef dirname\n");
|
||||
printf("#define dirname _ast_dirname\n");
|
||||
+#endif
|
||||
+#if _map_libc
|
||||
#if !_lib_eaccess
|
||||
printf("#undef eaccess\n");
|
||||
printf("#define eaccess _ast_eaccess\n");
|
||||
--- src/lib/libast/features/sys
|
||||
+++ src/lib/libast/features/sys 2012-02-21 12:04:43.000000000 +0000
|
||||
@@ -134,7 +134,7 @@ tst typ_signed_size_t output{
|
||||
}
|
||||
}end
|
||||
|
||||
-define offsetof (type,member) ((size_t)&(((type*)0)->member))
|
||||
+define offsetof (type,member) __builtin_offsetof(type,member)
|
||||
define EXIT_FAILURE 1
|
||||
define EXIT_SUCCESS 0
|
||||
define MB_CUR_MAX 1
|
||||
--- src/lib/libdll/features/dll
|
||||
+++ src/lib/libdll/features/dll 2007-03-30 18:40:58.855596004 +0200
|
||||
+++ src/lib/libdll/features/dll 2007-03-30 16:40:59.000000000 +0000
|
||||
@@ -15,7 +15,7 @@ tst dll_DYNAMIC link{
|
||||
}end
|
||||
tst run{
|
||||
@ -42,42 +81,3 @@
|
||||
lib=$abi/$lib
|
||||
fi
|
||||
;;
|
||||
--- src/lib/libast/features/libpath.sh
|
||||
+++ src/lib/libast/features/libpath.sh 2007-03-30 18:45:55.030440187 +0200
|
||||
@@ -21,7 +21,7 @@
|
||||
########################################################################
|
||||
ok=0
|
||||
for i in \
|
||||
- -x /lib/ld.so /lib/ld-*.so /usr/lib/ld.so /lib/rld \
|
||||
+ -x /lib64/ld.so /lib/ld.so /lib64/ld-*.so /lib/ld-*.so /usr/lib/ld.so /lib/rld \
|
||||
-f /usr/shlib/libc.so /shlib/libc.so /usr/lib/libc.so \
|
||||
-r /usr/shlib/libc.so /shlib/libc.so
|
||||
do case $i in
|
||||
--- src/lib/libast/features/map.c
|
||||
+++ src/lib/libast/features/map.c 2009-12-09 12:13:24.423429613 +0100
|
||||
@@ -66,10 +66,14 @@ main()
|
||||
#define _map_malloc 1
|
||||
printf("\n");
|
||||
printf("#define _map_libc 1\n");
|
||||
+#endif
|
||||
+#if _map_libc || defined(__linux__)
|
||||
printf("#undef basename\n");
|
||||
printf("#define basename _ast_basename\n");
|
||||
printf("#undef dirname\n");
|
||||
printf("#define dirname _ast_dirname\n");
|
||||
+#endif
|
||||
+#if _map_libc
|
||||
#if !_lib_eaccess
|
||||
printf("#undef eaccess\n");
|
||||
printf("#define eaccess _ast_eaccess\n");
|
||||
--- src/lib/libast/features/sys
|
||||
+++ src/lib/libast/features/sys 2012-02-21 12:04:43.269934994 +0000
|
||||
@@ -126,7 +126,7 @@ tst typ_signed_size_t output{
|
||||
}
|
||||
}end
|
||||
|
||||
-define offsetof (type,member) ((size_t)&(((type*)0)->member))
|
||||
+define offsetof (type,member) __builtin_offsetof(type,member)
|
||||
define EXIT_FAILURE 1
|
||||
define EXIT_SUCCESS 0
|
||||
define MB_CUR_MAX 1
|
||||
|
@ -1,5 +1,94 @@
|
||||
--- src/cmd/ksh93/sh/xec.c
|
||||
+++ src/cmd/ksh93/sh/xec.c 2013-02-01 16:22:50.000000000 +0000
|
||||
@@ -2741,11 +2741,6 @@ int sh_exec(register const Shnode_t *t,
|
||||
slp = (struct slnod*)np->nvenv;
|
||||
sh_funstaks(slp->slchild,-1);
|
||||
stakdelete(slp->slptr);
|
||||
- if(shp->funload)
|
||||
- {
|
||||
- free((void*)np->nvalue.rp);
|
||||
- np->nvalue.rp = 0;
|
||||
- }
|
||||
if(rp->sdict)
|
||||
{
|
||||
Namval_t *mp, *nq;
|
||||
@@ -2759,6 +2754,12 @@ int sh_exec(register const Shnode_t *t,
|
||||
dtclose(rp->sdict);
|
||||
rp->sdict = 0;
|
||||
}
|
||||
+ if(shp->funload)
|
||||
+ {
|
||||
+ if(!shp->fpathdict)
|
||||
+ free((void*)np->nvalue.rp);
|
||||
+ np->nvalue.rp = 0;
|
||||
+ }
|
||||
}
|
||||
if(!np->nvalue.rp)
|
||||
{
|
||||
@@ -2769,7 +2770,7 @@ int sh_exec(register const Shnode_t *t,
|
||||
{
|
||||
static Dtdisc_t _Rpdisc =
|
||||
{
|
||||
- offsetof(struct Ufunction,fname), -1, sizeof(struct Ufunction)
|
||||
+ offsetof(struct Ufunction,fname), -1, sizeof(struct Ufunction)
|
||||
};
|
||||
struct functnod *fp;
|
||||
struct comnod *ac = t->funct.functargs;
|
||||
@@ -2796,8 +2797,10 @@ int sh_exec(register const Shnode_t *t,
|
||||
rp->np = np;
|
||||
if(!shp->fpathdict)
|
||||
shp->fpathdict = dtopen(&_Rpdisc,Dtobag);
|
||||
- if(shp->fpathdict)
|
||||
+ if(shp->fpathdict) {
|
||||
+ dtuserdata(shp->fpathdict,shp,1);
|
||||
dtinsert(shp->fpathdict,rp);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
else
|
||||
--- src/lib/libast/Mamfile
|
||||
+++ src/lib/libast/Mamfile 2013-01-30 10:01:13.000000000 +0000
|
||||
@@ -3969,6 +3969,14 @@ meta dtopen.o %.c>%.o cdt/dtopen.c dtope
|
||||
prev cdt/dtopen.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dtopen.c
|
||||
done dtopen.o generated
|
||||
+make dtstat.o
|
||||
+make cdt/dtstat.c
|
||||
+prev cdt/dthdr.h implicit
|
||||
+done cdt/dtstat.c
|
||||
+meta dtstat.o %.c>%.o cdt/dtstat.c dtstat
|
||||
+prev cdt/dtstat.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dtstat.c
|
||||
+done dtstat.o generated
|
||||
make dtstrhash.o
|
||||
make cdt/dtstrhash.c
|
||||
prev cdt/dthdr.h implicit
|
||||
@@ -3985,6 +3993,14 @@ meta dttree.o %.c>%.o cdt/dttree.c dttre
|
||||
prev cdt/dttree.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dttree.c
|
||||
done dttree.o generated
|
||||
+make dtuser.o
|
||||
+make cdt/dtuser.c
|
||||
+prev cdt/dthdr.h implicit
|
||||
+done cdt/dtuser.c
|
||||
+meta dtuser.o %.c>%.o cdt/dtuser.c dtuser
|
||||
+prev cdt/dtuser.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dtuser.c
|
||||
+done dtuser.o generated
|
||||
make dtview.o
|
||||
make cdt/dtview.c
|
||||
prev cdt/dthdr.h implicit
|
||||
@@ -6101,7 +6117,7 @@ exec - ${AR} rc libast.a state.o transit
|
||||
exec - ${AR} rc libast.a streval.o strexpr.o strmatch.o strcopy.o modei.o modex.o strmode.o strlcat.o strlcpy.o strlook.o strncopy.o strsearch.o strpsearch.o stresc.o stropt.o strtape.o strpcmp.o strnpcmp.o strvcmp.o strnvcmp.o tok.o tokline.o tokscan.o pathaccess.o pathcat.o pathcanon.o pathcheck.o pathpath.o pathexists.o pathfind.o pathkey.o pathprobe.o pathrepl.o pathnative.o pathposix.o pathtemp.o pathtmp.o pathstat.o pathgetlink.o pathsetlink.o pathbin.o pathshell.o pathcd.o pathprog.o fs3d.o ftwalk.o ftwflags.o fts.o astintercept.o conformance.o getenv.o setenviron.o optget.o optjoin.o optesc.o optctx.o strsort.o struniq.o magic.o mime.o mimetype.o signal.o sigflag.o systrace.o error.o errorf.o errormsg.o errorx.o localeconv.o setlocale.o translate.o catopen.o iconv.o lc.o lctab.o mc.o base64.o recfmt.o recstr.o reclen.o fmtrec.o fmtbase.o fmtbuf.o fmtclock.o fmtdev.o fmtelapsed.o fmterror.o fmtesc.o fmtfmt.o fmtfs.o fmtident.o fmtint.o fmtip4.o fmtip6.o fmtls.o fmtmatch.o fmtmode.o fmtnum.o fmtperm.o fmtre.o fmttime.o
|
||||
exec - ${AR} rc libast.a fmtuid.o fmtgid.o fmtsignal.o fmtscale.o fmttmx.o fmttv.o fmtversion.o strelapsed.o strperm.o struid.o strgid.o strtoip4.o strtoip6.o stack.o stk.o swapget.o swapmem.o swapop.o swapput.o sigdata.o sigcrit.o sigunblock.o procopen.o procclose.o procrun.o procfree.o tmdate.o tmequiv.o tmfix.o tmfmt.o tmform.o tmgoff.o tminit.o tmleap.o tmlex.o tmlocale.o tmmake.o tmpoff.o tmscan.o tmsleep.o tmtime.o tmtype.o tmweek.o tmword.o tmzone.o tmxdate.o tmxduration.o tmxfmt.o tmxgettime.o tmxleap.o tmxmake.o tmxscan.o tmxsettime.o tmxsleep.o tmxtime.o tmxtouch.o tvcmp.o tvgettime.o tvsettime.o tvsleep.o tvtouch.o cmdarg.o vecargs.o vecfile.o vecfree.o vecload.o vecstring.o univdata.o touch.o mnt.o debug.o memccpy.o memchr.o memcmp.o memcpy.o memdup.o memmove.o memset.o mkdir.o mkfifo.o mknod.o rmdir.o remove.o rename.o link.o unlink.o strdup.o strchr.o strrchr.o strstr.o strtod.o strtold.o strtol.o strtoll.o strtoul.o strtoull.o strton.o strtonll.o strntod.o strntold.o strnton.o
|
||||
exec - ${AR} rc libast.a strntonll.o strntol.o strntoll.o strntoul.o strntoull.o strcasecmp.o strncasecmp.o strerror.o mktemp.o tmpnam.o fsync.o execlp.o execve.o execvp.o execvpe.o spawnveg.o vfork.o killpg.o hsearch.o tsearch.o getlogin.o putenv.o setenv.o unsetenv.o lstat.o statvfs.o eaccess.o gross.o omitted.o readlink.o symlink.o getpgrp.o setpgid.o setsid.o waitpid.o creat64.o fcntl.o open.o atexit.o getdents.o getwd.o dup2.o errno.o getpreroot.o ispreroot.o realopen.o setpreroot.o getgroups.o mount.o system.o iblocks.o modedata.o tmdata.o memfatal.o sfkeyprintf.o sfdcdio.o sfdcdos.o sfdcfilter.o sfdcseekable.o sfdcslow.o sfdcsubstr.o sfdctee.o sfdcunion.o sfdcmore.o sfdcprefix.o wc.o wc2utf8.o basename.o closelog.o dirname.o fmtmsglib.o fnmatch.o ftw.o getdate.o getsubopt.o glob.o nftw.o openlog.o re_comp.o resolvepath.o realpath.o regcmp.o regexp.o setlogmask.o strftime.o strptime.o swab.o syslog.o tempnam.o wordexp.o mktime.o regalloc.o regclass.o regcoll.o regcomp.o regcache.o regdecomp.o regerror.o regexec.o regfatal.o reginit.o
|
||||
-exec - ${AR} rc libast.a regnexec.o regsubcomp.o regsubexec.o regsub.o regrecord.o regrexec.o regstat.o dtclose.o dtdisc.o dthash.o dtlist.o dtmethod.o dtopen.o dtstrhash.o dttree.o dtview.o dtwalk.o dtnew.o dtcomp.o sfclose.o sfclrlock.o sfdisc.o sfdlen.o sfexcept.o sfgetl.o sfgetu.o sfcvt.o sfecvt.o sffcvt.o sfextern.o sffilbuf.o sfflsbuf.o sfprints.o sfgetd.o sfgetr.o sfllen.o sfmode.o sfmove.o sfnew.o sfpkrd.o sfnotify.o sfnputc.o sfopen.o sfpeek.o sfpoll.o sfpool.o sfpopen.o sfprintf.o sfputd.o sfputl.o sfputr.o sfputu.o sfrd.o sfread.o sfreserve.o sfscanf.o sfseek.o sfset.o sfsetbuf.o sfsetfd.o sfsize.o sfsk.o sfstack.o sfstrtod.o sfsync.o sfswap.o sftable.o sftell.o sftmp.o sfungetc.o sfvprintf.o sfvscanf.o sfwr.o sfwrite.o sfpurge.o sfraise.o sfwalk.o sfgetm.o sfmutex.o sfputm.o sfresize.o _sfclrerr.o _sfeof.o _sferror.o _sffileno.o _sfopen.o _sfstacked.o _sfvalue.o _sfgetc.o _sfgetl.o _sfgetl2.o _sfgetu.o _sfgetu2.o _sfdlen.o _sfllen.o _sfslen.o _sfulen.o _sfputc.o _sfputd.o _sfputl.o _sfputm.o
|
||||
+exec - ${AR} rc libast.a regnexec.o regsubcomp.o regsubexec.o regsub.o regrecord.o regrexec.o regstat.o dtclose.o dtdisc.o dthash.o dtlist.o dtmethod.o dtopen.o dtstat.o dtstrhash.o dttree.o dtuser.o dtview.o dtwalk.o dtnew.o dtcomp.o sfclose.o sfclrlock.o sfdisc.o sfdlen.o sfexcept.o sfgetl.o sfgetu.o sfcvt.o sfecvt.o sffcvt.o sfextern.o sffilbuf.o sfflsbuf.o sfprints.o sfgetd.o sfgetr.o sfllen.o sfmode.o sfmove.o sfnew.o sfpkrd.o sfnotify.o sfnputc.o sfopen.o sfpeek.o sfpoll.o sfpool.o sfpopen.o sfprintf.o sfputd.o sfputl.o sfputr.o sfputu.o sfrd.o sfread.o sfreserve.o sfscanf.o sfseek.o sfset.o sfsetbuf.o sfsetfd.o sfsize.o sfsk.o sfstack.o sfstrtod.o sfsync.o sfswap.o sftable.o sftell.o sftmp.o sfungetc.o sfvprintf.o sfvscanf.o sfwr.o sfwrite.o sfpurge.o sfraise.o sfwalk.o sfgetm.o sfmutex.o sfputm.o sfresize.o _sfclrerr.o _sfeof.o _sferror.o _sffileno.o _sfopen.o _sfstacked.o _sfvalue.o _sfgetc.o _sfgetl.o _sfgetl2.o _sfgetu.o _sfgetu2.o _sfdlen.o _sfllen.o _sfslen.o _sfulen.o _sfputc.o _sfputd.o _sfputl.o _sfputm.o
|
||||
exec - ${AR} rc libast.a _sfputu.o clearerr.o fclose.o fdopen.o feof.o ferror.o fflush.o fgetc.o fgetpos.o fgets.o fileno.o fopen.o fprintf.o fpurge.o fputc.o fputs.o fread.o freopen.o fscanf.o fseek.o fseeko.o fsetpos.o ftell.o ftello.o fwrite.o flockfile.o ftrylockfile.o funlockfile.o getc.o getchar.o getw.o pclose.o popen.o printf.o putc.o putchar.o puts.o putw.o rewind.o scanf.o setbuf.o setbuffer.o setlinebuf.o setvbuf.o snprintf.o sprintf.o sscanf.o asprintf.o vasprintf.o tmpfile.o ungetc.o vfprintf.o vfscanf.o vprintf.o vscanf.o vsnprintf.o vsprintf.o vsscanf.o _doprnt.o _doscan.o _filbuf.o _flsbuf.o _stdfun.o _stdopen.o _stdprintf.o _stdscanf.o _stdsprnt.o _stdvbuf.o _stdvsnprnt.o _stdvsprnt.o _stdvsscn.o fgetwc.o fwprintf.o putwchar.o vfwscanf.o wprintf.o fgetws.o fwscanf.o swprintf.o vswprintf.o wscanf.o fputwc.o getwc.o swscanf.o vswscanf.o fputws.o getwchar.o ungetwc.o vwprintf.o fwide.o putwc.o vfwprintf.o vwscanf.o stdio_c99.o fcloseall.o fmemopen.o getdelim.o getline.o frexp.o frexpl.o astcopy.o
|
||||
exec - ${AR} rc libast.a astconf.o astdynamic.o astlicense.o astquery.o astwinsize.o conftab.o aststatic.o getopt.o getoptl.o aso.o asolock.o asometh.o asorelax.o aso-sem.o aso-fcntl.o vmbest.o vmclear.o vmclose.o vmdcheap.o vmdebug.o vmdisc.o vmexit.o vmlast.o vmopen.o vmpool.o vmprivate.o vmprofile.o vmregion.o vmsegment.o vmset.o vmstat.o vmstrdup.o vmtrace.o vmwalk.o vmmopen.o malloc.o vmgetmem.o a64l.o acosh.o asinh.o atanh.o cbrt.o crypt.o erf.o err.o exp.o exp__E.o expm1.o gamma.o getpass.o lgamma.o log.o log1p.o log__L.o rand48.o random.o rcmd.o rint.o support.o sfstrtmp.o spawn.o
|
||||
exec - (ranlib libast.a) >/dev/null 2>&1 || true
|
||||
--- src/lib/libast/cdt/dtcomp.c
|
||||
+++ src/lib/libast/cdt/dtcomp.c 2012-12-20 10:29:45.005452948 +0000
|
||||
+++ src/lib/libast/cdt/dtcomp.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -52,9 +52,3 @@ extern ssize_t dtsize(Dt_t* d)
|
||||
{
|
||||
return (ssize_t)(*(_DT(d)->searchf))((d),(Void_t*)(0),DT_STAT);
|
||||
@ -10,27 +99,8 @@
|
||||
-{
|
||||
- return (ssize_t)(*(_DT(d)->searchf))((d),(Void_t*)(0),DT_STAT);
|
||||
-}
|
||||
--- src/lib/libast/cdt/dtdisc.c
|
||||
+++ src/lib/libast/cdt/dtdisc.c 2012-12-20 10:29:45.013452595 +0000
|
||||
@@ -57,7 +57,6 @@ Dtdisc_t* disc;
|
||||
int type;
|
||||
#endif
|
||||
{
|
||||
- Dtsearch_f searchf;
|
||||
Dtdisc_t *old;
|
||||
Dtlink_t *list;
|
||||
|
||||
@@ -71,8 +70,6 @@ int type;
|
||||
if(!disc) /* only want to know current discipline */
|
||||
return old;
|
||||
|
||||
- searchf = dt->meth->searchf;
|
||||
-
|
||||
if(old->eventf && (*old->eventf)(dt,DT_DISC,(Void_t*)disc,old) < 0)
|
||||
return NIL(Dtdisc_t*);
|
||||
|
||||
--- src/lib/libast/cdt/dthash.c
|
||||
+++ src/lib/libast/cdt/dthash.c 2012-12-20 10:29:45.013452595 +0000
|
||||
+++ src/lib/libast/cdt/dthash.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -52,11 +52,13 @@ static int htable(Dt_t* dt)
|
||||
if((n = hash->tblz) > 0 && (hash->type&H_FIXED) )
|
||||
return 0; /* fixed size table */
|
||||
@ -120,7 +190,7 @@
|
||||
|
||||
do_insert: /* inserting a new object */
|
||||
--- src/lib/libast/cdt/dtlist.c
|
||||
+++ src/lib/libast/cdt/dtlist.c 2012-12-20 10:29:45.013452595 +0000
|
||||
+++ src/lib/libast/cdt/dtlist.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -142,9 +142,9 @@ int type;
|
||||
}
|
||||
|
||||
@ -133,7 +203,7 @@
|
||||
Dt_t* dt;
|
||||
Dtstat_t* st;
|
||||
#endif
|
||||
@@ -190,7 +190,7 @@ int type;
|
||||
@@ -186,7 +186,7 @@ int type;
|
||||
else if(type&DT_CLEAR)
|
||||
DTRETURN(obj, lclear(dt));
|
||||
else if(type&DT_STAT )
|
||||
@ -142,7 +212,7 @@
|
||||
|
||||
h = list->here; /* save finger to last search object */
|
||||
list->here = NIL(Dtlink_t*);
|
||||
@@ -206,8 +206,9 @@ int type;
|
||||
@@ -202,8 +202,9 @@ int type;
|
||||
{ r = (Dtlink_t*)obj;
|
||||
goto do_insert;
|
||||
}
|
||||
@ -154,7 +224,7 @@
|
||||
DTRETURN(obj, NIL(Void_t*));
|
||||
dt->data->size += 1;
|
||||
|
||||
@@ -294,7 +295,7 @@ int type;
|
||||
@@ -290,7 +291,7 @@ int type;
|
||||
}
|
||||
r = h ? h : r;
|
||||
}
|
||||
@ -163,8 +233,8 @@
|
||||
DTRETURN(obj, NIL(Void_t*));
|
||||
|
||||
if(type&(DT_DELETE|DT_DETACH|DT_REMOVE))
|
||||
--- src/lib/libast/cdt/dtopen.c 2012-01-19 09:47:26.000000000 +0000
|
||||
+++ src/lib/libast/cdt/dtopen.c 2012-12-20 10:29:45.021452290 +0000
|
||||
--- src/lib/libast/cdt/dtopen.c
|
||||
+++ src/lib/libast/cdt/dtopen.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -153,25 +153,3 @@ void _dtfree(Dt_t* dt, Dtlink_t* l, int
|
||||
if(disc->link < 0) /* free holder */
|
||||
(void)(*dt->memoryf)(dt, (Void_t*)l, 0, disc);
|
||||
@ -191,8 +261,8 @@
|
||||
- return data;
|
||||
- }
|
||||
-}
|
||||
--- src/lib/libast/cdt/dtstat.c 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ src/lib/libast/cdt/dtstat.c 2012-12-20 10:29:45.021452290 +0000
|
||||
--- src/lib/libast/cdt/dtstat.c
|
||||
+++ src/lib/libast/cdt/dtstat.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -0,0 +1,54 @@
|
||||
+/***********************************************************************
|
||||
+* *
|
||||
@ -249,7 +319,7 @@
|
||||
+ return sz;
|
||||
+}
|
||||
--- src/lib/libast/cdt/dtstrhash.c
|
||||
+++ src/lib/libast/cdt/dtstrhash.c 2012-12-20 10:29:45.021452290 +0000
|
||||
+++ src/lib/libast/cdt/dtstrhash.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -22,40 +22,38 @@
|
||||
#include "dthdr.h"
|
||||
|
||||
@ -310,7 +380,7 @@
|
||||
+ return h;
|
||||
}
|
||||
--- src/lib/libast/cdt/dttree.c
|
||||
+++ src/lib/libast/cdt/dttree.c 2012-12-20 10:29:45.029525330 +0000
|
||||
+++ src/lib/libast/cdt/dttree.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -545,7 +545,14 @@ int type;
|
||||
}
|
||||
else goto no_root;
|
||||
@ -378,17 +448,8 @@
|
||||
{ dt_insert:
|
||||
if(!(root = _dtmake(dt, obj, type)) )
|
||||
{ obj = NIL(Void_t*);
|
||||
@@ -638,8 +649,6 @@ dt_return:
|
||||
|
||||
static int treeevent(Dt_t* dt, int event, Void_t* arg)
|
||||
{
|
||||
- Dtlink_t *l, *list;
|
||||
- ssize_t size;
|
||||
Dttree_t *tree = (Dttree_t*)dt->data;
|
||||
|
||||
if(event == DT_OPEN)
|
||||
--- src/lib/libast/cdt/dtuser.c 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ src/lib/libast/cdt/dtuser.c 2012-12-20 10:29:45.029525330 +0000
|
||||
--- src/lib/libast/cdt/dtuser.c
|
||||
+++ src/lib/libast/cdt/dtuser.c 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -0,0 +1,59 @@
|
||||
+/***********************************************************************
|
||||
+* *
|
||||
@ -449,8 +510,8 @@
|
||||
+ return 0;
|
||||
+ else return (*dt->disc->eventf)(dt, DT_ANNOUNCE|DT_USER|flags, data, dt->disc);
|
||||
+}
|
||||
--- src/lib/libast/include/cdt.h 2012-12-20 11:37:28.641452879 +0000
|
||||
+++ src/lib/libast/include/cdt.h 2012-12-20 10:29:45.129453247 +0000
|
||||
--- src/lib/libast/include/cdt.h
|
||||
+++ src/lib/libast/include/cdt.h 2012-12-20 10:29:45.000000000 +0000
|
||||
@@ -164,6 +164,7 @@ struct _dtstat_s
|
||||
ssize_t msize; /* max #defined elts in below arrays */
|
||||
ssize_t lsize[DT_MAXSIZE]; /* #objects by level */
|
||||
@ -503,99 +564,3 @@
|
||||
#define dtsize(d) (ssize_t)(*(_DT(d)->searchf))((d),(Void_t*)(0),DT_STAT)
|
||||
|
||||
#define DT_PRIME 17109811 /* 2#00000001 00000101 00010011 00110011 */
|
||||
--- src/lib/libast/Mamfile
|
||||
+++ src/lib/libast/Mamfile 2013-01-30 10:01:13.201453447 +0000
|
||||
@@ -3966,6 +3966,14 @@ meta dtopen.o %.c>%.o cdt/dtopen.c dtope
|
||||
prev cdt/dtopen.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dtopen.c
|
||||
done dtopen.o generated
|
||||
+make dtstat.o
|
||||
+make cdt/dtstat.c
|
||||
+prev cdt/dthdr.h implicit
|
||||
+done cdt/dtstat.c
|
||||
+meta dtstat.o %.c>%.o cdt/dtstat.c dtstat
|
||||
+prev cdt/dtstat.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dtstat.c
|
||||
+done dtstat.o generated
|
||||
make dtstrhash.o
|
||||
make cdt/dtstrhash.c
|
||||
prev cdt/dthdr.h implicit
|
||||
@@ -3982,6 +3990,14 @@ meta dttree.o %.c>%.o cdt/dttree.c dttre
|
||||
prev cdt/dttree.c
|
||||
exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dttree.c
|
||||
done dttree.o generated
|
||||
+make dtuser.o
|
||||
+make cdt/dtuser.c
|
||||
+prev cdt/dthdr.h implicit
|
||||
+done cdt/dtuser.c
|
||||
+meta dtuser.o %.c>%.o cdt/dtuser.c dtuser
|
||||
+prev cdt/dtuser.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icdt -Icomp -Iinclude -Istd -I${INSTALLROOT}/include/ast -D_PACKAGE_ast -c cdt/dtuser.c
|
||||
+done dtuser.o generated
|
||||
make dtview.o
|
||||
make cdt/dtview.c
|
||||
prev cdt/dthdr.h implicit
|
||||
@@ -6091,7 +6107,7 @@ exec - ${AR} rc libast.a state.o transit
|
||||
exec - ${AR} rc libast.a streval.o strexpr.o strmatch.o strcopy.o modei.o modex.o strmode.o strlcat.o strlcpy.o strlook.o strncopy.o strsearch.o strpsearch.o stresc.o stropt.o strtape.o strpcmp.o strnpcmp.o strvcmp.o strnvcmp.o tok.o tokline.o tokscan.o pathaccess.o pathcat.o pathcanon.o pathcheck.o pathpath.o pathexists.o pathfind.o pathkey.o pathprobe.o pathrepl.o pathnative.o pathposix.o pathtemp.o pathtmp.o pathstat.o pathgetlink.o pathsetlink.o pathbin.o pathshell.o pathcd.o pathprog.o fs3d.o ftwalk.o ftwflags.o fts.o astintercept.o conformance.o getenv.o setenviron.o optget.o optjoin.o optesc.o optctx.o strsort.o struniq.o magic.o mime.o mimetype.o signal.o sigflag.o systrace.o error.o errorf.o errormsg.o errorx.o localeconv.o setlocale.o translate.o catopen.o iconv.o lc.o lctab.o mc.o base64.o recfmt.o recstr.o reclen.o fmtrec.o fmtbase.o fmtbuf.o fmtclock.o fmtdev.o fmtelapsed.o fmterror.o fmtesc.o fmtfmt.o fmtfs.o fmtident.o fmtint.o fmtip4.o fmtip6.o fmtls.o fmtmatch.o fmtmode.o fmtnum.o fmtperm.o fmtre.o fmttime.o
|
||||
exec - ${AR} rc libast.a fmtuid.o fmtgid.o fmtsignal.o fmtscale.o fmttmx.o fmttv.o fmtversion.o strelapsed.o strperm.o struid.o strgid.o strtoip4.o strtoip6.o stack.o stk.o swapget.o swapmem.o swapop.o swapput.o sigdata.o sigcrit.o sigunblock.o procopen.o procclose.o procrun.o procfree.o tmdate.o tmequiv.o tmfix.o tmfmt.o tmform.o tmgoff.o tminit.o tmleap.o tmlex.o tmlocale.o tmmake.o tmpoff.o tmscan.o tmsleep.o tmtime.o tmtype.o tmweek.o tmword.o tmzone.o tmxdate.o tmxduration.o tmxfmt.o tmxgettime.o tmxleap.o tmxmake.o tmxscan.o tmxsettime.o tmxsleep.o tmxtime.o tmxtouch.o tvcmp.o tvgettime.o tvsettime.o tvsleep.o tvtouch.o cmdarg.o vecargs.o vecfile.o vecfree.o vecload.o vecstring.o univdata.o touch.o mnt.o debug.o memccpy.o memchr.o memcmp.o memcpy.o memdup.o memmove.o memset.o mkdir.o mkfifo.o mknod.o rmdir.o remove.o rename.o link.o unlink.o strdup.o strchr.o strrchr.o strstr.o strtod.o strtold.o strtol.o strtoll.o strtoul.o strtoull.o strton.o strtonll.o strntod.o strntold.o strnton.o
|
||||
exec - ${AR} rc libast.a strntonll.o strntol.o strntoll.o strntoul.o strntoull.o strcasecmp.o strncasecmp.o strerror.o mktemp.o tmpnam.o fsync.o execlp.o execve.o execvp.o execvpe.o spawnveg.o vfork.o killpg.o hsearch.o tsearch.o getlogin.o putenv.o setenv.o unsetenv.o lstat.o statvfs.o eaccess.o gross.o omitted.o readlink.o symlink.o getpgrp.o setpgid.o setsid.o waitpid.o creat64.o fcntl.o open.o atexit.o getdents.o getwd.o dup2.o errno.o getpreroot.o ispreroot.o realopen.o setpreroot.o getgroups.o mount.o system.o iblocks.o modedata.o tmdata.o memfatal.o sfkeyprintf.o sfdcdio.o sfdcdos.o sfdcfilter.o sfdcseekable.o sfdcslow.o sfdcsubstr.o sfdctee.o sfdcunion.o sfdcmore.o sfdcprefix.o wc.o wc2utf8.o basename.o closelog.o dirname.o fmtmsglib.o fnmatch.o ftw.o getdate.o getsubopt.o glob.o nftw.o openlog.o re_comp.o resolvepath.o realpath.o regcmp.o regexp.o setlogmask.o strftime.o strptime.o swab.o syslog.o tempnam.o wordexp.o mktime.o regalloc.o regclass.o regcoll.o regcomp.o regcache.o regdecomp.o regerror.o regexec.o regfatal.o reginit.o
|
||||
-exec - ${AR} rc libast.a regnexec.o regsubcomp.o regsubexec.o regsub.o regrecord.o regrexec.o regstat.o dtclose.o dtdisc.o dthash.o dtlist.o dtmethod.o dtopen.o dtstrhash.o dttree.o dtview.o dtwalk.o dtnew.o dtcomp.o sfclose.o sfclrlock.o sfdisc.o sfdlen.o sfexcept.o sfgetl.o sfgetu.o sfcvt.o sfecvt.o sffcvt.o sfextern.o sffilbuf.o sfflsbuf.o sfprints.o sfgetd.o sfgetr.o sfllen.o sfmode.o sfmove.o sfnew.o sfpkrd.o sfnotify.o sfnputc.o sfopen.o sfpeek.o sfpoll.o sfpool.o sfpopen.o sfprintf.o sfputd.o sfputl.o sfputr.o sfputu.o sfrd.o sfread.o sfreserve.o sfscanf.o sfseek.o sfset.o sfsetbuf.o sfsetfd.o sfsize.o sfsk.o sfstack.o sfstrtod.o sfsync.o sfswap.o sftable.o sftell.o sftmp.o sfungetc.o sfvprintf.o sfvscanf.o sfwr.o sfwrite.o sfpurge.o sfraise.o sfwalk.o sfgetm.o sfmutex.o sfputm.o sfresize.o _sfclrerr.o _sfeof.o _sferror.o _sffileno.o _sfopen.o _sfstacked.o _sfvalue.o _sfgetc.o _sfgetl.o _sfgetl2.o _sfgetu.o _sfgetu2.o _sfdlen.o _sfllen.o _sfslen.o _sfulen.o _sfputc.o _sfputd.o _sfputl.o _sfputm.o
|
||||
+exec - ${AR} rc libast.a regnexec.o regsubcomp.o regsubexec.o regsub.o regrecord.o regrexec.o regstat.o dtclose.o dtdisc.o dthash.o dtlist.o dtmethod.o dtopen.o dtstat.o dtstrhash.o dttree.o dtuser.o dtview.o dtwalk.o dtnew.o dtcomp.o sfclose.o sfclrlock.o sfdisc.o sfdlen.o sfexcept.o sfgetl.o sfgetu.o sfcvt.o sfecvt.o sffcvt.o sfextern.o sffilbuf.o sfflsbuf.o sfprints.o sfgetd.o sfgetr.o sfllen.o sfmode.o sfmove.o sfnew.o sfpkrd.o sfnotify.o sfnputc.o sfopen.o sfpeek.o sfpoll.o sfpool.o sfpopen.o sfprintf.o sfputd.o sfputl.o sfputr.o sfputu.o sfrd.o sfread.o sfreserve.o sfscanf.o sfseek.o sfset.o sfsetbuf.o sfsetfd.o sfsize.o sfsk.o sfstack.o sfstrtod.o sfsync.o sfswap.o sftable.o sftell.o sftmp.o sfungetc.o sfvprintf.o sfvscanf.o sfwr.o sfwrite.o sfpurge.o sfraise.o sfwalk.o sfgetm.o sfmutex.o sfputm.o sfresize.o _sfclrerr.o _sfeof.o _sferror.o _sffileno.o _sfopen.o _sfstacked.o _sfvalue.o _sfgetc.o _sfgetl.o _sfgetl2.o _sfgetu.o _sfgetu2.o _sfdlen.o _sfllen.o _sfslen.o _sfulen.o _sfputc.o _sfputd.o _sfputl.o _sfputm.o
|
||||
exec - ${AR} rc libast.a _sfputu.o clearerr.o fclose.o fdopen.o feof.o ferror.o fflush.o fgetc.o fgetpos.o fgets.o fileno.o fopen.o fprintf.o fpurge.o fputc.o fputs.o fread.o freopen.o fscanf.o fseek.o fseeko.o fsetpos.o ftell.o ftello.o fwrite.o flockfile.o ftrylockfile.o funlockfile.o getc.o getchar.o getw.o pclose.o popen.o printf.o putc.o putchar.o puts.o putw.o rewind.o scanf.o setbuf.o setbuffer.o setlinebuf.o setvbuf.o snprintf.o sprintf.o sscanf.o asprintf.o vasprintf.o tmpfile.o ungetc.o vfprintf.o vfscanf.o vprintf.o vscanf.o vsnprintf.o vsprintf.o vsscanf.o _doprnt.o _doscan.o _filbuf.o _flsbuf.o _stdfun.o _stdopen.o _stdprintf.o _stdscanf.o _stdsprnt.o _stdvbuf.o _stdvsnprnt.o _stdvsprnt.o _stdvsscn.o fgetwc.o fwprintf.o putwchar.o vfwscanf.o wprintf.o fgetws.o fwscanf.o swprintf.o vswprintf.o wscanf.o fputwc.o getwc.o swscanf.o vswscanf.o fputws.o getwchar.o ungetwc.o vwprintf.o fwide.o putwc.o vfwprintf.o vwscanf.o stdio_c99.o fcloseall.o fmemopen.o getdelim.o getline.o frexp.o frexpl.o astcopy.o
|
||||
exec - ${AR} rc libast.a astconf.o astdynamic.o astlicense.o astquery.o astwinsize.o conftab.o aststatic.o getopt.o getoptl.o aso.o asolock.o asometh.o asorelax.o aso-sem.o aso-fcntl.o vmbest.o vmclear.o vmclose.o vmdcheap.o vmdebug.o vmdisc.o vmexit.o vmlast.o vmopen.o vmpool.o vmprivate.o vmprofile.o vmregion.o vmsegment.o vmset.o vmstat.o vmstrdup.o vmtrace.o vmwalk.o vmmopen.o malloc.o vmgetmem.o a64l.o acosh.o asinh.o atanh.o cbrt.o crypt.o erf.o err.o exp.o exp__E.o expm1.o gamma.o getpass.o lgamma.o log.o log1p.o log__L.o rand48.o random.o rcmd.o rint.o support.o sfstrtmp.o spawn.o
|
||||
exec - (ranlib libast.a) >/dev/null 2>&1 || true
|
||||
--- src/cmd/ksh93/sh/xec.c
|
||||
+++ src/cmd/ksh93/sh/xec.c 2013-01-30 08:52:32.000000000 +0000
|
||||
@@ -2661,24 +2661,25 @@ int sh_exec(register const Shnode_t *t,
|
||||
slp = (struct slnod*)np->nvenv;
|
||||
sh_funstaks(slp->slchild,-1);
|
||||
stakdelete(slp->slptr);
|
||||
- if(shp->funload)
|
||||
- {
|
||||
- free((void*)np->nvalue.rp);
|
||||
- np->nvalue.rp = 0;
|
||||
- }
|
||||
if(rp->sdict)
|
||||
{
|
||||
Namval_t *mp, *nq;
|
||||
shp->last_root = rp->sdict;
|
||||
for(mp=(Namval_t*)dtfirst(rp->sdict);mp;mp=nq)
|
||||
{
|
||||
- nq = dtnext(rp->sdict,mp);
|
||||
_nv_unset(mp,NV_RDONLY);
|
||||
+ nq = dtnext(rp->sdict,mp);
|
||||
nv_delete(mp,rp->sdict,0);
|
||||
}
|
||||
dtclose(rp->sdict);
|
||||
rp->sdict = 0;
|
||||
}
|
||||
+ if(shp->funload)
|
||||
+ {
|
||||
+ if(!shp->fpathdict)
|
||||
+ free((void*)np->nvalue.rp);
|
||||
+ np->nvalue.rp = 0;
|
||||
+ }
|
||||
}
|
||||
if(!np->nvalue.rp)
|
||||
{
|
||||
@@ -2689,7 +2690,7 @@ int sh_exec(register const Shnode_t *t,
|
||||
{
|
||||
static Dtdisc_t _Rpdisc =
|
||||
{
|
||||
- offsetof(struct Ufunction,fname), -1, sizeof(struct Ufunction)
|
||||
+ offsetof(struct Ufunction,fname), -1, sizeof(struct Ufunction)
|
||||
};
|
||||
struct functnod *fp;
|
||||
struct comnod *ac = t->funct.functargs;
|
||||
@@ -2716,8 +2717,10 @@ int sh_exec(register const Shnode_t *t,
|
||||
rp->np = np;
|
||||
if(!shp->fpathdict)
|
||||
shp->fpathdict = dtopen(&_Rpdisc,Dtobag);
|
||||
- if(shp->fpathdict)
|
||||
+ if(shp->fpathdict) {
|
||||
+ dtuserdata(shp->fpathdict,shp,1);
|
||||
dtinsert(shp->fpathdict,rp);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/sh/name.c
|
||||
+++ src/cmd/ksh93/sh/name.c 2012-10-16 12:12:42.846844975 +0000
|
||||
@@ -2123,7 +2123,7 @@ static void attstore(register Namval_t *
|
||||
+++ src/cmd/ksh93/sh/name.c 2012-10-16 12:12:43.000000000 +0000
|
||||
@@ -2162,7 +2162,7 @@ static void attstore(register Namval_t *
|
||||
if((flag&(NV_UTOL|NV_LTOU|NV_INTEGER)) == (NV_UTOL|NV_LTOU))
|
||||
{
|
||||
data = (void*)nv_mapchar(np,0);
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/sh/jobs.c
|
||||
+++ src/cmd/ksh93/sh/jobs.c 2012-02-08 11:52:14.000000000 +0100
|
||||
@@ -841,7 +841,9 @@ static void job_reset(register struct pr
|
||||
+++ src/cmd/ksh93/sh/jobs.c 2012-02-08 10:52:14.000000000 +0000
|
||||
@@ -845,7 +845,9 @@ static void job_reset(register struct pr
|
||||
{
|
||||
/* save the terminal state for current job */
|
||||
#ifdef SIGTSTP
|
||||
|
@ -1,5 +1,29 @@
|
||||
--- src/lib/libast/misc/optget.c
|
||||
+++ src/lib/libast/misc/optget.c 2013-01-28 14:52:53.000000000 +0000
|
||||
@@ -4367,9 +4367,9 @@ optget(register char** argv, const char*
|
||||
*/
|
||||
|
||||
opt_info.assignment = 0;
|
||||
- num = 1;
|
||||
- w = v = 0;
|
||||
- x = 0;
|
||||
+ nov = no = num = 1;
|
||||
+ e = w = v = 0;
|
||||
+ n = x = 0;
|
||||
for (;;)
|
||||
{
|
||||
if (!opt_info.offset)
|
||||
@@ -5214,7 +5214,7 @@ optget(register char** argv, const char*
|
||||
|
||||
if (opt_info.num != LONG_MIN)
|
||||
opt_info.num = (long)(opt_info.number = num);
|
||||
- if ((n = *++s == '#') || *s == ':' || w && !nov && v && (optnumber(v, &e, NiL), n = !*e))
|
||||
+ if ((n = (*++s == '#')) || *s == ':' || w && !nov && v && (optnumber(v, &e, NiL), n = !*e))
|
||||
{
|
||||
if (w)
|
||||
{
|
||||
--- src/lib/libpp/ppsearch.c
|
||||
+++ src/lib/libpp/ppsearch.c 2012-03-14 11:40:10.953934666 +0000
|
||||
+++ src/lib/libpp/ppsearch.c 2012-03-14 11:40:11.000000000 +0000
|
||||
@@ -107,6 +107,14 @@ ppmultiple(register struct ppfile* fp, r
|
||||
* search for file using directories in dp
|
||||
*/
|
||||
@ -39,69 +63,3 @@
|
||||
/*
|
||||
* search for an include file
|
||||
* if (flags&SEARCH_INCLUDE) then
|
||||
--- src/lib/libcmd/Mamfile
|
||||
+++ src/lib/libcmd/Mamfile 2013-01-28 10:46:23.141952570 +0000
|
||||
@@ -429,6 +429,7 @@ make uniq.c
|
||||
prev cmd.h implicit
|
||||
done uniq.c
|
||||
make vmstate.c
|
||||
+prev ${PACKAGE_ast_INCLUDE}/sfdisc.h implicit
|
||||
prev ${PACKAGE_ast_INCLUDE}/vmalloc.h implicit
|
||||
prev cmd.h implicit
|
||||
done vmstate.c
|
||||
--- src/lib/libast/misc/optget.c
|
||||
+++ src/lib/libast/misc/optget.c 2013-01-28 14:52:53.069452260 +0000
|
||||
@@ -2406,7 +2406,6 @@ opthelp(const char* oopts, const char* w
|
||||
int bflags = 0;
|
||||
int dflags = 0;
|
||||
int hflags = 0;
|
||||
- int sflags = 0;
|
||||
int matched = 0;
|
||||
int paragraph = 0;
|
||||
Push_t* psp = 0;
|
||||
@@ -4368,9 +4367,9 @@ optget(register char** argv, const char*
|
||||
*/
|
||||
|
||||
opt_info.assignment = 0;
|
||||
- num = 1;
|
||||
- w = v = 0;
|
||||
- x = 0;
|
||||
+ nov = no = num = 1;
|
||||
+ e = w = v = 0;
|
||||
+ n = x = 0;
|
||||
for (;;)
|
||||
{
|
||||
if (!opt_info.offset)
|
||||
@@ -4609,6 +4608,7 @@ optget(register char** argv, const char*
|
||||
opt_info.num = (long)(opt_info.number = optnumber(opt_info.arg, &e, &err));
|
||||
if (err || e == opt_info.arg)
|
||||
{
|
||||
+ opt_info.num = (long)(opt_info.number = 0);
|
||||
if (!err && (k & OPT_cache_optional))
|
||||
{
|
||||
opt_info.arg = 0;
|
||||
@@ -4636,6 +4636,7 @@ optget(register char** argv, const char*
|
||||
opt_info.arg = 0;
|
||||
opt_info.index--;
|
||||
opt_info.offset = 0;
|
||||
+ opt_info.num = (long)(opt_info.number = 0);
|
||||
return c;
|
||||
}
|
||||
if (k & OPT_cache_string)
|
||||
@@ -5213,7 +5214,7 @@ optget(register char** argv, const char*
|
||||
|
||||
if (opt_info.num != LONG_MIN)
|
||||
opt_info.num = (long)(opt_info.number = num);
|
||||
- if ((n = *++s == '#') || *s == ':' || w && !nov && v && (optnumber(v, &e, NiL), n = !*e))
|
||||
+ if ((n = (*++s == '#')) || *s == ':' || w && !nov && v && (optnumber(v, &e, NiL), n = !*e))
|
||||
{
|
||||
if (w)
|
||||
{
|
||||
@@ -5306,6 +5307,7 @@ optget(register char** argv, const char*
|
||||
opt_info.index++;
|
||||
if (*(s + 1) == '?' && (*opt_info.arg == '-' || (pass->flags & OPT_plus) && *opt_info.arg == '+') && *(opt_info.arg + 1))
|
||||
{
|
||||
+ opt_info.num = (long)(opt_info.number = 0);
|
||||
opt_info.index--;
|
||||
opt_info.arg = 0;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/sh/lex.c
|
||||
+++ src/cmd/ksh93/sh/lex.c 2012-01-16 16:09:37.624771155 +0100
|
||||
@@ -1874,6 +1874,8 @@ static int here_copy(Lex_t *lp,register
|
||||
+++ src/cmd/ksh93/sh/lex.c 2012-01-16 15:09:38.000000000 +0000
|
||||
@@ -1893,6 +1893,8 @@ static int here_copy(Lex_t *lp,register
|
||||
sfputc(sp,'\\');
|
||||
}
|
||||
}
|
||||
|
@ -1,24 +1,5 @@
|
||||
--- src/lib/libast/sfio/sfcvt.c
|
||||
+++ src/lib/libast/sfio/sfcvt.c 2008-12-17 11:56:17.000000000 +0000
|
||||
@@ -56,6 +56,16 @@ static char *Zero = "0";
|
||||
#define _lib_signbit 1
|
||||
#endif
|
||||
|
||||
+#if defined(__ia64__) && defined(signbit)
|
||||
+# if defined __GNUC__ && __GNUC__ >= 4
|
||||
+# define __signbitl(f) __builtin_signbitl(f)
|
||||
+# else
|
||||
+# if _lib_copysignl
|
||||
+# define __signbitl(f) (int)(copysignl(1.0,(f))<0.0)
|
||||
+# endif
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
#if ! _lib_signbit
|
||||
#if ! _ast_fltmax_double
|
||||
static int neg0ld(Sfdouble_t f)
|
||||
--- src/cmd/ksh93/features/math.sh
|
||||
+++ src/cmd/ksh93/features/math.sh 2012-01-20 14:23:37.587145847 +0000
|
||||
+++ src/cmd/ksh93/features/math.sh 2012-01-20 14:23:38.000000000 +0000
|
||||
@@ -130,6 +130,18 @@ echo "#include <math.h>"
|
||||
case $_hdr_ieeefp in
|
||||
1) echo "#include <ieeefp.h>" ;;
|
||||
@ -38,3 +19,22 @@
|
||||
echo
|
||||
|
||||
: generate the intercept functions and table entries
|
||||
--- src/lib/libast/sfio/sfcvt.c
|
||||
+++ src/lib/libast/sfio/sfcvt.c 2013-02-01 17:13:48.305452072 +0000
|
||||
@@ -54,6 +54,16 @@ static char *Zero = "0";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#if defined(__ia64__) && defined(signbit)
|
||||
+# if defined __GNUC__ && __GNUC__ >= 4
|
||||
+# define __signbitl(f) __builtin_signbitl(f)
|
||||
+# else
|
||||
+# if _lib_copysignl
|
||||
+# define __signbitl(f) (int)(copysignl(1.0,(f))<0.0)
|
||||
+# endif
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
#if !_lib_signbit
|
||||
#if !_ast_fltmax_double
|
||||
static int neg0ld(Sfdouble_t f)
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- src/cmd/ksh93/sh/jobs.c
|
||||
+++ src/cmd/ksh93/sh/jobs.c 2012-12-20 13:33:27.885452491 +0000
|
||||
+++ src/cmd/ksh93/sh/jobs.c 2012-12-20 13:33:28.000000000 +0000
|
||||
@@ -638,12 +638,14 @@ void job_init(Shell_t *shp, int lflag)
|
||||
/* This should have already been done by rlogin */
|
||||
register int fd;
|
||||
@ -16,27 +16,7 @@
|
||||
if((fd = open(ttynam,O_RDWR)) <0)
|
||||
return;
|
||||
if(fd!=JOBTTY)
|
||||
@@ -660,7 +662,7 @@ void job_init(Shell_t *shp, int lflag)
|
||||
/* wait until we are in the foreground */
|
||||
while((job.mytgid=tcgetpgrp(JOBTTY)) != job.mypgid)
|
||||
{
|
||||
- if(job.mytgid == -1)
|
||||
+ if(job.mytgid <= 0)
|
||||
return;
|
||||
/* Stop this shell until continued */
|
||||
signal(SIGTTIN,SIG_DFL);
|
||||
@@ -833,7 +835,9 @@ static void job_set(register struct proc
|
||||
if((pw->p_flag&P_STOPPED) || tcgetpgrp(job.fd) == shp->gd->pid)
|
||||
tcsetpgrp(job.fd,pw->p_fgrp);
|
||||
/* if job is stopped, resume it in the background */
|
||||
- job_unstop(pw);
|
||||
+ if(!shp->forked)
|
||||
+ job_unstop(pw);
|
||||
+ shp->forked = 0;
|
||||
#endif /* SIGTSTP */
|
||||
}
|
||||
|
||||
@@ -1104,7 +1110,7 @@ static struct process *job_bystring(regi
|
||||
@@ -1110,7 +1112,7 @@ static struct process *job_bystring(regi
|
||||
|
||||
int job_kill(register struct process *pw,register int sig)
|
||||
{
|
||||
@ -45,7 +25,7 @@
|
||||
register pid_t pid;
|
||||
register int r;
|
||||
const char *msg;
|
||||
@@ -1117,6 +1123,7 @@ int job_kill(register struct process *pw
|
||||
@@ -1123,6 +1125,7 @@ int job_kill(register struct process *pw
|
||||
errno = ECHILD;
|
||||
if(pw==0)
|
||||
goto error;
|
||||
@ -53,11 +33,3 @@
|
||||
pid = pw->p_pid;
|
||||
#if SHOPT_COSHELL
|
||||
if(pw->p_cojob)
|
||||
@@ -2043,6 +2050,7 @@ void job_fork(pid_t parent)
|
||||
job.in_critical = 0;
|
||||
break;
|
||||
default:
|
||||
+ job_chksave(parent);
|
||||
jobfork=0;
|
||||
job_unlock();
|
||||
break;
|
||||
|
@ -10,18 +10,18 @@
|
||||
int index;
|
||||
const char* conf;
|
||||
--- src/cmd/ksh93/sh/init.c
|
||||
+++ src/cmd/ksh93/sh/init.c 2012-02-21 11:26:13.622577250 +0100
|
||||
@@ -169,7 +169,7 @@ struct match
|
||||
+++ src/cmd/ksh93/sh/init.c 2013-02-01 15:53:58.733952540 +0000
|
||||
@@ -170,7 +170,7 @@ struct match
|
||||
char *val;
|
||||
char *rval[2];
|
||||
int *match;
|
||||
regoff_t *match;
|
||||
- char node[NV_MINSZ+sizeof(char*)];
|
||||
+ char node[NV_MINSZ+sizeof(char*)+sizeof(Dtlink_t)];
|
||||
int first;
|
||||
regoff_t first;
|
||||
int vsize;
|
||||
int nmatch;
|
||||
@@ -772,7 +772,7 @@ static int hasgetdisc(register Namfun_t
|
||||
void sh_setmatch(Shell_t *shp,const char *v, int vsize, int nmatch, int match[],int index)
|
||||
@@ -766,7 +766,7 @@ static int hasgetdisc(register Namfun_t
|
||||
void sh_setmatch(Shell_t *shp,const char *v, int vsize, int nmatch, regoff_t match[],int index)
|
||||
{
|
||||
struct match *mp = &ip->SH_MATCH_init;
|
||||
- Namval_t *np = nv_namptr(mp->node,0);
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- src/lib/libast/comp/conf.sh
|
||||
+++ src/lib/libast/comp/conf.sh 2010-08-17 17:45:16.129814168 +0200
|
||||
+++ src/lib/libast/comp/conf.sh 2010-08-17 15:45:16.000000000 +0000
|
||||
@@ -143,7 +143,7 @@ main()
|
||||
return 1;
|
||||
#else
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
@@ -785,7 +785,11 @@ defined() # list-file
|
||||
@@ -801,7 +801,11 @@ defined() # list-file
|
||||
cat <<!
|
||||
${head}
|
||||
#include <sys/types.h>
|
||||
@ -21,7 +21,7 @@
|
||||
#include <unistd.h>$systeminfo$headers
|
||||
${tail}
|
||||
#undef conf
|
||||
@@ -813,7 +817,11 @@ unsigned int conf[] = {
|
||||
@@ -829,7 +833,11 @@ unsigned int conf[] = {
|
||||
cat <<!
|
||||
${head}
|
||||
#include <sys/types.h>
|
||||
@ -33,7 +33,7 @@
|
||||
#include <unistd.h>$systeminfo$headers
|
||||
${tail}
|
||||
#undef conf
|
||||
@@ -854,7 +862,11 @@ done
|
||||
@@ -870,7 +878,11 @@ done
|
||||
cat <<!
|
||||
${head}
|
||||
#include <sys/types.h>
|
||||
@ -45,7 +45,7 @@
|
||||
#include <unistd.h>$systeminfo$headers
|
||||
${tail}
|
||||
#undef conf
|
||||
@@ -1032,7 +1044,7 @@ do eval name=\"'$'CONF_name_$key\"
|
||||
@@ -1048,7 +1060,7 @@ do eval name=\"'$'CONF_name_$key\"
|
||||
case $flags in
|
||||
*[Ll]*) d=
|
||||
case ${conf_name} in
|
||||
@ -54,7 +54,7 @@
|
||||
x=
|
||||
;;
|
||||
*) eval x='$'CONF_const_${conf_name}
|
||||
@@ -1092,7 +1104,11 @@ do eval name=\"'$'CONF_name_$key\"
|
||||
@@ -1108,7 +1120,11 @@ do eval name=\"'$'CONF_name_$key\"
|
||||
${head}
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
@ -66,7 +66,7 @@
|
||||
#include <unistd.h>$systeminfo$headers
|
||||
${tail}
|
||||
int
|
||||
@@ -1107,7 +1123,11 @@ main()
|
||||
@@ -1123,7 +1139,11 @@ main()
|
||||
${head}
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
@ -78,7 +78,7 @@
|
||||
#include <unistd.h>$systeminfo$headers
|
||||
${tail}
|
||||
${script}
|
||||
@@ -1254,7 +1274,11 @@ printf("#endif\n");
|
||||
@@ -1270,7 +1290,11 @@ printf("#endif\n");
|
||||
*) cat > $tmp.c <<!
|
||||
${head}
|
||||
#include <sys/types.h>
|
||||
@ -90,7 +90,7 @@
|
||||
#include <unistd.h>$systeminfo$headers
|
||||
${tail}
|
||||
${script}
|
||||
@@ -1333,7 +1357,7 @@ ${script}
|
||||
@@ -1349,7 +1373,7 @@ ${script}
|
||||
*[lLuU])
|
||||
case $LL_suffix in
|
||||
??) case $conf_limit in
|
||||
@ -99,7 +99,7 @@
|
||||
conf_limit=${conf_limit}L
|
||||
;;
|
||||
esac
|
||||
@@ -1368,7 +1392,7 @@ ${script}
|
||||
@@ -1384,7 +1408,7 @@ ${script}
|
||||
*[lLuU])
|
||||
case $LL_suffix in
|
||||
??) case $conf_minmax in
|
||||
@ -108,7 +108,7 @@
|
||||
conf_minmax=${conf_minmax}L
|
||||
;;
|
||||
esac
|
||||
@@ -1545,7 +1569,11 @@ esac
|
||||
@@ -1561,7 +1585,11 @@ esac
|
||||
cat <<!
|
||||
${head}
|
||||
#include <sys/types.h>
|
||||
|
@ -1,99 +1,3 @@
|
||||
--- src/cmd/ksh93/bltins/trap.c
|
||||
+++ src/cmd/ksh93/bltins/trap.c 2012-10-23 15:45:37.000000000 +0000
|
||||
@@ -102,6 +102,7 @@ int b_trap(int argc,char *argv[],Shbltin
|
||||
/* internal traps */
|
||||
if(sig&SH_TRAP)
|
||||
{
|
||||
+ char **trap = (shp->st.otrap?shp->st.otrap:shp->st.trap);
|
||||
sig &= ~SH_TRAP;
|
||||
if(sig>SH_DEBUGTRAP)
|
||||
{
|
||||
@@ -110,10 +111,11 @@ int b_trap(int argc,char *argv[],Shbltin
|
||||
}
|
||||
if(pflag)
|
||||
{
|
||||
- if(arg=shp->st.trap[sig])
|
||||
+ if(arg=trap[sig])
|
||||
sfputr(sfstdout,sh_fmtq(arg),'\n');
|
||||
continue;
|
||||
}
|
||||
+ shp->st.otrap = 0;
|
||||
if(shp->st.trap[sig])
|
||||
free(shp->st.trap[sig]);
|
||||
shp->st.trap[sig] = 0;
|
||||
@@ -402,7 +404,7 @@ static void sig_list(register Shell_t *s
|
||||
}
|
||||
for(sig=SH_DEBUGTRAP; sig>=0; sig--)
|
||||
{
|
||||
- if(!(trap=shp->st.trap[sig]))
|
||||
+ if(!(trap=shp->st.otrap?shp->st.otrap[sig]:shp->st.trap[sig]))
|
||||
continue;
|
||||
sfprintf(sfstdout,trapfmt,sh_fmtq(trap),traps[sig]);
|
||||
}
|
||||
--- src/cmd/ksh93/include/defs.h
|
||||
+++ src/cmd/ksh93/include/defs.h 2012-10-23 15:42:45.000000000 +0000
|
||||
@@ -90,6 +90,7 @@ struct sh_scoped
|
||||
int ioset;
|
||||
unsigned short trapmax;
|
||||
char *trap[SH_DEBUGTRAP+1];
|
||||
+ char **otrap;
|
||||
char **trapcom;
|
||||
char **otrapcom;
|
||||
void *timetrap;
|
||||
--- src/cmd/ksh93/include/shnodes.h
|
||||
+++ src/cmd/ksh93/include/shnodes.h 2012-10-23 14:23:06.000000000 +0000
|
||||
@@ -211,7 +211,7 @@ union Shnode_u
|
||||
|
||||
extern void sh_freeup(Shell_t*);
|
||||
extern void sh_funstaks(struct slnod*,int);
|
||||
-extern Sfio_t *sh_subshell(Shell_t*,Shnode_t*, int, int);
|
||||
+extern Sfio_t *sh_subshell(Shell_t*,Shnode_t*, volatile int, int);
|
||||
#if defined(__EXPORT__) && defined(_BLD_DLL) && defined(_BLD_shell)
|
||||
__EXPORT__
|
||||
#endif
|
||||
--- src/cmd/ksh93/sh/subshell.c
|
||||
+++ src/cmd/ksh93/sh/subshell.c 2012-10-25 10:09:34.574345265 +0000
|
||||
@@ -455,7 +455,7 @@ void sh_subjobcheck(pid_t pid)
|
||||
* output of command <t>. Otherwise, NULL will be returned.
|
||||
*/
|
||||
|
||||
-Sfio_t *sh_subshell(Shell_t *shp,Shnode_t *t, int flags, int comsub)
|
||||
+Sfio_t *sh_subshell(Shell_t *shp,Shnode_t *t, volatile int flags, int comsub)
|
||||
{
|
||||
struct subshell sub_data;
|
||||
register struct subshell *sp = &sub_data;
|
||||
@@ -528,6 +528,7 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
|
||||
sh_stats(STAT_SUBSHELL);
|
||||
/* save trap table */
|
||||
shp->st.otrapcom = 0;
|
||||
+ shp->st.otrap = savst.trap;
|
||||
if((nsig=shp->st.trapmax*sizeof(char*))>0 || shp->st.trapcom[0])
|
||||
{
|
||||
nsig += sizeof(char*);
|
||||
@@ -602,6 +603,7 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
|
||||
}
|
||||
if(!shp->savesig)
|
||||
shp->savesig = -1;
|
||||
+ nv_restore(sp);
|
||||
if(comsub)
|
||||
{
|
||||
/* re-enable job control */
|
||||
@@ -666,7 +668,6 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
|
||||
{
|
||||
int n;
|
||||
shp->options = sp->options;
|
||||
- nv_restore(sp);
|
||||
if(sp->salias)
|
||||
{
|
||||
shp->alias_tree = dtview(sp->salias,0);
|
||||
@@ -685,6 +686,7 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
|
||||
memset(&shp->st.trapcom[savst.trapmax],0,n*sizeof(char*));
|
||||
shp->st = savst;
|
||||
shp->curenv = savecurenv;
|
||||
+ shp->st.otrap = 0;
|
||||
if(nsig)
|
||||
{
|
||||
memcpy((char*)&shp->st.trapcom[0],savsig,nsig);
|
||||
--- src/lib/libast/path/pathtemp.c
|
||||
+++ src/lib/libast/path/pathtemp.c 2012-10-25 10:35:14.510345073 +0000
|
||||
@@ -73,15 +73,49 @@
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/sh/main.c
|
||||
+++ src/cmd/ksh93/sh/main.c 2010-08-17 17:35:18.099125448 +0200
|
||||
@@ -219,14 +219,38 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
+++ src/cmd/ksh93/sh/main.c 2010-08-17 15:35:18.000000000 +0000
|
||||
@@ -200,14 +200,38 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
{
|
||||
/* system profile */
|
||||
sh_source(shp, iop, e_sysprofile);
|
||||
@ -41,7 +41,7 @@
|
||||
if(!sh_isoption(SH_NOEXEC))
|
||||
{
|
||||
if(!sh_isoption(SH_NOUSRPROFILE) && !sh_isoption(SH_PRIVILEGED) && sh_isoption(SH_RC))
|
||||
@@ -234,9 +258,6 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
@@ -215,9 +239,6 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
#if SHOPT_BASH
|
||||
if(sh_isoption(SH_BASH) && !sh_isoption(SH_POSIX))
|
||||
{
|
||||
@ -51,7 +51,7 @@
|
||||
sh_source(shp, iop, shp->gd->rcfile ? shp->gd->rcfile : sh_mactry(shp,(char*)e_bash_rc));
|
||||
}
|
||||
else
|
||||
@@ -244,10 +265,6 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
@@ -225,10 +246,6 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
{
|
||||
if(name = sh_mactry(shp,nv_getval(ENVNOD)))
|
||||
name = *name ? strdup(name) : (char*)0;
|
||||
|
@ -1,25 +0,0 @@
|
||||
--- src/cmd/ksh93/bltins/read.c
|
||||
+++ src/cmd/ksh93/bltins/read.c 2012-06-04 09:58:53.848644056 +0200
|
||||
@@ -570,7 +570,13 @@ int sh_readline(register Shell_t *shp,ch
|
||||
case S_QUOTE:
|
||||
c = shp->ifstable[*cp++];
|
||||
inquote = !inquote;
|
||||
- goto skip;
|
||||
+ if(val)
|
||||
+ {
|
||||
+ stakputs(val);
|
||||
+ use_stak = 1;
|
||||
+ *val = 0;
|
||||
+ }
|
||||
+ continue;
|
||||
case S_ESC:
|
||||
/* process escape character */
|
||||
if((c = shp->ifstable[*cp++]) == S_NL)
|
||||
@@ -582,6 +588,7 @@ int sh_readline(register Shell_t *shp,ch
|
||||
{
|
||||
stakputs(val);
|
||||
use_stak = 1;
|
||||
+ was_escape = 1;
|
||||
*val = 0;
|
||||
}
|
||||
continue;
|
@ -1,15 +1,6 @@
|
||||
--- src/cmd/ksh93/edit/edit.c
|
||||
+++ src/cmd/ksh93/edit/edit.c 2012-01-16 16:13:59.743144345 +0100
|
||||
@@ -1670,7 +1670,7 @@ int ed_histgen(Edit_t *ep,const char *pa
|
||||
History_t *hp;
|
||||
off_t offset;
|
||||
int ac=0,l,m,n,index1,index2;
|
||||
- char *cp, **argv, **av, **ar;
|
||||
+ char *cp, **argv=0, **av, **ar;
|
||||
if(!(hp=ep->sh->gd->hist_ptr))
|
||||
return(0);
|
||||
if(*pattern=='#')
|
||||
@@ -1748,8 +1748,13 @@ int ed_histgen(Edit_t *ep,const char *pa
|
||||
+++ src/cmd/ksh93/edit/edit.c 2013-02-01 17:18:31.405454238 +0000
|
||||
@@ -1769,8 +1769,13 @@ int ed_histgen(Edit_t *ep,const char *pa
|
||||
mplast->next = mp;
|
||||
mplast->next = 0;
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
--- src/cmd/ksh93/bltins/read.c
|
||||
+++ src/cmd/ksh93/bltins/read.c 2008-12-17 14:01:01.000000000 +0000
|
||||
@@ -280,6 +280,19 @@ int sh_readline(register Shell_t *shp,ch
|
||||
delim = ((unsigned)flags)>>D_FLAG;
|
||||
if((shp->fdstatus[fd]&IOTTY) && !keytrap)
|
||||
tty_raw(fd,1);
|
||||
+++ src/cmd/ksh93/bltins/read.c 2013-02-01 15:29:39.393452098 +0000
|
||||
@@ -288,6 +288,19 @@ int sh_readline(register Shell_t *shp,ch
|
||||
ep->e_nttyparm.c_lflag |= ISIG;
|
||||
tty_set(fd,TCSADRAIN,&ep->e_nttyparm);
|
||||
}
|
||||
+#if defined(__linux__)
|
||||
+ if ((flags&N_FLAG) && (shp->fdstatus[fd]&(IOTTY|IONOSEEK))==0)
|
||||
+ else if ((shp->fdstatus[fd]&(IOTTY|IONOSEEK))==0)
|
||||
+ {
|
||||
+ struct stat st;
|
||||
+ if ((fstat(fd, &st) == 0) && S_ISFIFO(st.st_mode))
|
||||
|
@ -51,7 +51,7 @@
|
||||
# define gencpy(a,b) ed_gencpy(a,b)
|
||||
# define genncpy(a,b,n) ed_genncpy(a,b,n)
|
||||
# define genlen(str) ed_genlen(str)
|
||||
@@ -1559,11 +1563,19 @@ static void setcursor(register Emacs_t *
|
||||
@@ -1563,11 +1567,19 @@ static void setcursor(register Emacs_t *
|
||||
#if SHOPT_MULTIBYTE
|
||||
static int print(register int c)
|
||||
{
|
||||
@ -107,7 +107,7 @@
|
||||
static int _ismetach(int);
|
||||
--- src/cmd/ksh93/sh/io.c
|
||||
+++ src/cmd/ksh93/sh/io.c 2010-06-28 14:09:09.000000000 +0000
|
||||
@@ -1514,6 +1514,7 @@ static int io_heredoc(Shell_t *shp,regis
|
||||
@@ -1536,6 +1536,7 @@ static int io_heredoc(Shell_t *shp,regis
|
||||
if(traceon)
|
||||
sfprintf(sfstderr,"< %s\n",name);
|
||||
sfputr(outfile,name,'\n');
|
||||
@ -116,8 +116,72 @@
|
||||
else
|
||||
{
|
||||
--- src/cmd/ksh93/sh/macro.c
|
||||
+++ src/cmd/ksh93/sh/macro.c 2011-05-27 13:08:05.000000000 +0200
|
||||
@@ -2341,13 +2341,13 @@ static void mac_copy(register Mac_t *mp,
|
||||
+++ src/cmd/ksh93/sh/macro.c 2013-02-05 16:41:12.997452597 +0000
|
||||
@@ -2026,6 +2026,9 @@ static void comsubst(Mac_t *mp,register
|
||||
struct _mac_ savemac;
|
||||
int savtop = stktell(stkp);
|
||||
char lastc=0, *savptr = stkfreeze(stkp,0);
|
||||
+#if SHOPT_MULTIBYTE
|
||||
+ wchar_t lastw=0;
|
||||
+#endif /* SHOPT_MULTIBYTE */
|
||||
int was_history = sh_isstate(SH_HISTORY);
|
||||
int was_verbose = sh_isstate(SH_VERBOSE);
|
||||
int was_interactive = sh_isstate(SH_INTERACTIVE);
|
||||
@@ -2209,6 +2209,17 @@ static void comsubst(Mac_t *mp,register
|
||||
}
|
||||
else if(lastc)
|
||||
{
|
||||
+#if SHOPT_MULTIBYTE
|
||||
+ if(lastw)
|
||||
+ {
|
||||
+ int n;
|
||||
+ char mb[8];
|
||||
+ n = mbconv(mb, lastw);
|
||||
+ mac_copy(mp,mb,n);
|
||||
+ lastw = 0;
|
||||
+ }
|
||||
+ else
|
||||
+#endif /* SHOPT_MULTIBYTE */
|
||||
mac_copy(mp,&lastc,1);
|
||||
lastc = 0;
|
||||
}
|
||||
@@ -2220,6 +2231,17 @@ static void comsubst(Mac_t *mp,register
|
||||
ssize_t len = 1;
|
||||
|
||||
/* can't write past buffer so save last character */
|
||||
+#if SHOPT_MULTIBYTE
|
||||
+ if ((len = mbsize(str))>1)
|
||||
+ {
|
||||
+ len = mb2wc(lastw,str,len);
|
||||
+ if (len < 0)
|
||||
+ {
|
||||
+ lastw = 0;
|
||||
+ len = 1;
|
||||
+ }
|
||||
+ }
|
||||
+#endif /* SHOPT_MULTIBYTE */
|
||||
c -= len;
|
||||
lastc = str[c];
|
||||
str[c] = 0;
|
||||
@@ -2240,6 +2262,17 @@ static void comsubst(Mac_t *mp,register
|
||||
}
|
||||
if(lastc)
|
||||
{
|
||||
+#if SHOPT_MULTIBYTE
|
||||
+ if(lastw)
|
||||
+ {
|
||||
+ int n;
|
||||
+ char mb[8];
|
||||
+ n = mbconv(mb, lastw);
|
||||
+ mac_copy(mp,mb,n);
|
||||
+ lastw = 0;
|
||||
+ }
|
||||
+ else
|
||||
+#endif /* SHOPT_MULTIBYTE */
|
||||
mac_copy(mp,&lastc,1);
|
||||
lastc = 0;
|
||||
}
|
||||
@@ -2340,13 +2373,13 @@ static void mac_copy(register Mac_t *mp,
|
||||
if(mp->pattern)
|
||||
{
|
||||
char *sp = "&|()";
|
||||
@ -135,7 +199,7 @@
|
||||
state[c] = S_PAT;
|
||||
--- src/cmd/ksh93/sh/string.c
|
||||
+++ src/cmd/ksh93/sh/string.c 2007-12-20 17:51:07.000000000 +0000
|
||||
@@ -41,7 +41,7 @@
|
||||
@@ -37,7 +37,7 @@
|
||||
#endif
|
||||
|
||||
#if !_lib_iswprint && !defined(iswprint)
|
||||
@ -144,7 +208,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
@@ -249,7 +249,7 @@ void sh_trim(register char *sp)
|
||||
@@ -245,7 +245,7 @@ void sh_trim(register char *sp)
|
||||
if(sp)
|
||||
{
|
||||
dp = sp;
|
||||
@ -154,7 +218,7 @@
|
||||
#if SHOPT_MULTIBYTE
|
||||
int len;
|
||||
--- src/cmd/ksh93/tests/sjis.sh
|
||||
+++ src/cmd/ksh93/tests/sjis.sh 2011-05-20 17:11:28.623926368 +0200
|
||||
+++ src/cmd/ksh93/tests/sjis.sh 2011-05-20 15:11:29.000000000 +0000
|
||||
@@ -0,0 +1,67 @@
|
||||
+########################################################################
|
||||
+# #
|
||||
@ -245,7 +309,7 @@
|
||||
#define STUB 1
|
||||
--- src/lib/libast/features/wchar
|
||||
+++ src/lib/libast/features/wchar 2007-12-20 17:50:28.000000000 +0000
|
||||
@@ -7,7 +7,8 @@ cat{
|
||||
@@ -8,7 +8,8 @@ cat{
|
||||
#define _AST_WCHAR_H 1
|
||||
}end
|
||||
|
||||
@ -255,7 +319,7 @@
|
||||
lib towlower,towupper stdlib.h stdio.h wchar.h
|
||||
typ mbstate_t stdlib.h stdio.h wchar.h
|
||||
nxt wchar
|
||||
@@ -64,6 +65,12 @@ cat <<!
|
||||
@@ -68,6 +69,12 @@ cat <<!
|
||||
#undef putwc
|
||||
#undef putwchar
|
||||
#undef ungetwc
|
||||
@ -268,7 +332,7 @@
|
||||
|
||||
#define fgetwc _ast_fgetwc
|
||||
#define fgetws _ast_fgetws
|
||||
@@ -114,6 +121,12 @@ cat <<!
|
||||
@@ -118,6 +125,12 @@ cat <<!
|
||||
#if !_lib_wcstombs
|
||||
extern size_t wcstombs(char*, const wchar_t*, size_t);
|
||||
#endif
|
||||
@ -321,13 +385,13 @@
|
||||
#include <stk.h>
|
||||
|
||||
--- src/lib/libcmd/Mamfile
|
||||
+++ src/lib/libcmd/Mamfile 2012-01-16 15:02:08.387145418 +0000
|
||||
@@ -508,7 +508,7 @@ make cat.o
|
||||
+++ src/lib/libcmd/Mamfile 2013-02-05 15:11:03.153953100 +0000
|
||||
@@ -509,7 +509,7 @@ make cat.o
|
||||
prev cat.c
|
||||
meta cat.o %.c>%.o cat.c cat
|
||||
prev cat.c
|
||||
-exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2012 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -D_BLD_DEBUG -c cat.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2012 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -D_BLD_DEBUG -DSHOPT_MULTIBYTE -c cat.c
|
||||
-exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2012 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -c cat.c
|
||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2012 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -DSHOPT_MULTIBYTE -c cat.c
|
||||
done cat.o generated
|
||||
make chgrp.o
|
||||
prev chgrp.c
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- src/cmd/ksh93/data/signals.c
|
||||
+++ src/cmd/ksh93/data/signals.c 2012-02-06 11:16:53.970131637 +0100
|
||||
+++ src/cmd/ksh93/data/signals.c 2012-02-06 10:16:54.000000000 +0000
|
||||
@@ -18,6 +18,9 @@
|
||||
* *
|
||||
***********************************************************************/
|
||||
@ -11,8 +11,8 @@
|
||||
#if defined(SIGCLD) && !defined(SIGCHLD)
|
||||
# define SIGCHLD SIGCLD
|
||||
--- src/cmd/ksh93/sh/xec.c
|
||||
+++ src/cmd/ksh93/sh/xec.c 2007-12-21 13:28:04.000000000 +0100
|
||||
@@ -2894,6 +2894,7 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
+++ src/cmd/ksh93/sh/xec.c 2007-12-21 12:28:04.000000000 +0000
|
||||
@@ -3834,6 +3834,7 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
{
|
||||
signal(SIGTTIN,SIG_DFL);
|
||||
signal(SIGTTOU,SIG_DFL);
|
||||
@ -20,7 +20,7 @@
|
||||
}
|
||||
#endif /* SIGTSTP */
|
||||
#ifdef JOBS
|
||||
@@ -2931,6 +2932,9 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
@@ -3871,6 +3872,9 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
{
|
||||
signal(SIGTTIN,SIG_IGN);
|
||||
signal(SIGTTOU,SIG_IGN);
|
||||
@ -30,7 +30,7 @@
|
||||
}
|
||||
#endif /* SIGTSTP */
|
||||
if(spawnpid>0)
|
||||
@@ -3011,6 +3015,7 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
@@ -3951,6 +3955,7 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
{
|
||||
signal(SIGTTIN,SIG_DFL);
|
||||
signal(SIGTTOU,SIG_DFL);
|
||||
@ -38,7 +38,7 @@
|
||||
jobwasset++;
|
||||
}
|
||||
#endif /* SIGTSTP */
|
||||
@@ -3069,6 +3074,9 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
@@ -4013,6 +4018,9 @@ static pid_t sh_ntfork(Shell_t *shp,cons
|
||||
{
|
||||
signal(SIGTTIN,SIG_IGN);
|
||||
signal(SIGTTOU,SIG_IGN);
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/data/msg.c
|
||||
+++ src/cmd/ksh93/data/msg.c 2007-04-02 14:59:18.748709295 +0000
|
||||
@@ -180,7 +180,11 @@
|
||||
+++ src/cmd/ksh93/data/msg.c 2007-04-02 14:59:19.000000000 +0000
|
||||
@@ -205,7 +205,11 @@ const char e_bash_profile[] = "$HOME/.ba
|
||||
const char e_crondir[] = "/var/spool/cron";
|
||||
const char e_prohibited[] = "login setuid/setgid shells prohibited";
|
||||
#if SHOPT_SUID_EXEC
|
||||
@ -13,7 +13,7 @@
|
||||
const char hist_fname[] = "/.sh_history";
|
||||
const char e_dot[] = ".";
|
||||
--- src/cmd/ksh93/sh/suid_exec.c
|
||||
+++ src/cmd/ksh93/sh/suid_exec.c 2012-02-03 08:36:40.097933528 +0000
|
||||
+++ src/cmd/ksh93/sh/suid_exec.c 2012-02-03 08:36:40.000000000 +0000
|
||||
@@ -62,10 +62,24 @@
|
||||
#define FDVERIFY 12 /* used to validate /tmp process */
|
||||
#undef BLKSIZE
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/bltins/test.c
|
||||
+++ src/cmd/ksh93/bltins/test.c 2011-05-20 13:45:24.547925980 +0000
|
||||
@@ -46,12 +46,12 @@
|
||||
+++ src/cmd/ksh93/bltins/test.c 2011-05-20 13:45:25.000000000 +0000
|
||||
@@ -47,12 +47,12 @@
|
||||
#ifdef S_ISSOCK
|
||||
# if _pipe_socketpair
|
||||
# if _socketpair_shutdown_mode
|
||||
@ -16,8 +16,8 @@
|
||||
# endif
|
||||
# define isasock(f,p) (test_stat(f,p)>=0&&S_ISSOCK((p)->st_mode))
|
||||
#else
|
||||
@@ -86,7 +86,7 @@ static int test_strmatch(Shell_t *shp,co
|
||||
int match[2*(MATCH_MAX+1)],n;
|
||||
@@ -87,7 +87,7 @@ static int test_strmatch(Shell_t *shp,co
|
||||
regoff_t match[2*(MATCH_MAX+1)],n;
|
||||
register int c, m=0;
|
||||
register const char *cp=pat;
|
||||
- while(c = *cp++)
|
||||
@ -25,7 +25,7 @@
|
||||
{
|
||||
if(c=='(')
|
||||
m++;
|
||||
@@ -460,7 +460,7 @@ int test_unop(Shell_t *shp,register int
|
||||
@@ -463,7 +463,7 @@ int test_unop(Shell_t *shp,register int
|
||||
|
||||
int test_binop(Shell_t *shp,register int op,const char *left,const char *right)
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/lib/libcmd/date.c
|
||||
+++ src/lib/libcmd/date.c 2007-03-30 10:51:14.000000000 +0000
|
||||
@@ -217,10 +217,19 @@ settime(void* context, const char* cmd,
|
||||
@@ -226,10 +226,19 @@ settime(Shbltin_t* context, const char*
|
||||
if (!adjust && !network)
|
||||
return tmxsettime(now);
|
||||
argv = args;
|
||||
@ -20,7 +20,7 @@
|
||||
if (streq(astconf("UNIVERSE", NiL, NiL), "att"))
|
||||
{
|
||||
tmxfmt(buf, sizeof(buf), "%m%d%H" "%M%Y.%S", now);
|
||||
@@ -235,6 +244,7 @@ settime(void* context, const char* cmd,
|
||||
@@ -244,6 +253,7 @@ settime(Shbltin_t* context, const char*
|
||||
if (tm_info.flags & TM_UTC)
|
||||
*argv++ = "-u";
|
||||
}
|
||||
@ -52,7 +52,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(__STDPP__directive) && defined(__STDPP__hide)
|
||||
@@ -269,6 +272,9 @@ b_uname(int argc, char** argv, void* con
|
||||
@@ -269,6 +272,9 @@ b_uname(int argc, char** argv, Shbltin_t
|
||||
{
|
||||
case 'a':
|
||||
flags |= OPT_all|((1L<<OPT_ALL)-1);
|
||||
@ -62,7 +62,7 @@
|
||||
continue;
|
||||
case 'b':
|
||||
flags |= OPT_base;
|
||||
@@ -325,7 +331,11 @@ b_uname(int argc, char** argv, void* con
|
||||
@@ -325,7 +331,11 @@ b_uname(int argc, char** argv, Shbltin_t
|
||||
sethost = opt_info.arg;
|
||||
continue;
|
||||
case ':':
|
||||
@ -74,7 +74,7 @@
|
||||
if (!streq(argv[0], s) && (!eaccess(s, X_OK) || !eaccess(s+=4, X_OK)))
|
||||
{
|
||||
argv[0] = s;
|
||||
@@ -394,13 +404,49 @@ b_uname(int argc, char** argv, void* con
|
||||
@@ -394,13 +404,49 @@ b_uname(int argc, char** argv, Shbltin_t
|
||||
output(OPT_machine, ut.machine, "machine");
|
||||
if (flags & OPT_processor)
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/sh/xec.c
|
||||
+++ src/cmd/ksh93/sh/xec.c 2011-07-04 15:42:20.779925941 +0000
|
||||
@@ -3294,7 +3294,8 @@ int sh_funscope(int argn, char *argv[],i
|
||||
+++ src/cmd/ksh93/sh/xec.c 2011-07-04 15:42:21.000000000 +0000
|
||||
@@ -3387,7 +3387,8 @@ int sh_funscope(int argn, char *argv[],i
|
||||
shp->st.var_local = shp->var_tree;
|
||||
if(!fun)
|
||||
{
|
||||
|
10
ksh93-vi.dif
10
ksh93-vi.dif
@ -1,5 +1,5 @@
|
||||
--- src/cmd/ksh93/edit/vi.c
|
||||
+++ src/cmd/ksh93/edit/vi.c 2007-03-28 18:41:47.032501418 +0200
|
||||
+++ src/cmd/ksh93/edit/vi.c 2007-03-28 16:41:47.000000000 +0000
|
||||
@@ -401,6 +401,8 @@ int ed_viread(void *context, int fd, reg
|
||||
|
||||
if(!yankbuf)
|
||||
@ -18,7 +18,7 @@
|
||||
*yankbuf = 0;
|
||||
}
|
||||
|
||||
@@ -1075,7 +1079,7 @@ static void cdelete(Vi_t *vp,register in
|
||||
@@ -1137,7 +1141,7 @@ static void cdelete(Vi_t *vp,register in
|
||||
|
||||
/*** save characters to be deleted ***/
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
{
|
||||
i = cp[nchars];
|
||||
cp[nchars] = 0;
|
||||
@@ -2047,6 +2051,9 @@ static void save_last(register Vi_t* vp)
|
||||
@@ -2169,6 +2173,9 @@ static void save_last(register Vi_t* vp)
|
||||
{
|
||||
register int i;
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
if( (i = cur_virt - first_virt + 1) > 0 )
|
||||
{
|
||||
/*** save last thing user typed ***/
|
||||
@@ -2292,6 +2299,11 @@ static int textmod(register Vi_t *vp,reg
|
||||
@@ -2417,6 +2424,11 @@ static int textmod(register Vi_t *vp,reg
|
||||
p = yankbuf;
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
addin:
|
||||
switch( c )
|
||||
{
|
||||
@@ -2564,6 +2576,8 @@ yankeol:
|
||||
@@ -2687,6 +2699,8 @@ yankeol:
|
||||
vp->lastmotion = c;
|
||||
if( c == 'y' )
|
||||
{
|
||||
|
10
ksh93-vm.dif
10
ksh93-vm.dif
@ -1,6 +1,6 @@
|
||||
--- src/lib/libast/vmalloc/vmhdr.h
|
||||
+++ src/lib/libast/vmalloc/vmhdr.h 2012-01-19 09:45:13.651645599 +0000
|
||||
@@ -149,6 +149,9 @@ extern void _vmmessage _ARG_((const cha
|
||||
+++ src/lib/libast/vmalloc/vmhdr.h 2012-01-19 09:45:14.000000000 +0000
|
||||
@@ -152,6 +152,9 @@ extern void _vmmessage _ARG_((const cha
|
||||
#endif /*DEBUG*/
|
||||
|
||||
#define VMPAGESIZE 8192
|
||||
@ -11,8 +11,8 @@
|
||||
#define GETPAGESIZE(x) ((x) ? (x) : ((x)=getpagesize()) )
|
||||
#else
|
||||
--- src/lib/libast/vmalloc/vmmopen.c
|
||||
+++ src/lib/libast/vmalloc/vmmopen.c 2012-01-20 11:13:11.743644776 +0000
|
||||
@@ -58,8 +58,10 @@ void _STUB_vmmapopen(){}
|
||||
+++ src/lib/libast/vmalloc/vmmopen.c 2012-01-20 11:13:12.000000000 +0000
|
||||
@@ -63,8 +63,10 @@ void _STUB_vmmapopen(){}
|
||||
/* magic word signaling file/segment is ready */
|
||||
#define MM_MAGIC ((unsigned int)(('P'<<24) | ('&'<<16) | ('N'<<8) | ('8')) )
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
/* macros to get the data section and size */
|
||||
#define MMHEAD(file) ROUND(sizeof(Mmvm_t)+strlen(file), ALIGN)
|
||||
@@ -162,10 +164,18 @@ static int mminit(Mmdisc_t* mmdc)
|
||||
@@ -166,10 +168,18 @@ static int mminit(Mmdisc_t* mmdc)
|
||||
|
||||
if(mmdc->mmvm) /* already done this */
|
||||
return 0;
|
||||
|
@ -1,44 +0,0 @@
|
||||
--- src/cmd/ksh93/sh/init.c
|
||||
+++ src/cmd/ksh93/sh/init.c 2012-03-14 12:40:34.986162029 +0000
|
||||
@@ -508,24 +508,26 @@ static void put_cdpath(register Namval_t
|
||||
static void put_ifs(register Namval_t* np,const char *val,int flags,Namfun_t *fp)
|
||||
{
|
||||
register struct ifs *ip = (struct ifs*)fp;
|
||||
+ Namfun_t *xp;
|
||||
ip->ifsnp = 0;
|
||||
- if(!val)
|
||||
- {
|
||||
- fp = nv_stack(np, NIL(Namfun_t*));
|
||||
- if(fp && !fp->nofree)
|
||||
- {
|
||||
- free((void*)fp);
|
||||
- fp = 0;
|
||||
- }
|
||||
- }
|
||||
- if(val != np->nvalue.cp)
|
||||
- nv_putv(np, val, flags, fp);
|
||||
- if(!val)
|
||||
+ if(val)
|
||||
{
|
||||
- if(fp)
|
||||
- fp->next = np->nvfun;
|
||||
- np->nvfun = fp;
|
||||
+ if(val != np->nvalue.cp)
|
||||
+ nv_putv(np, val, flags, fp);
|
||||
+ return;
|
||||
}
|
||||
+ if((xp = nv_stack(np, NIL(Namfun_t*))) != fp)
|
||||
+ sfprintf(sfstderr, "BUG in %s:%s(%d) xp(%p) != fp(%p)\n",
|
||||
+ __FILE__, __FUNCTION__, __LINE__, xp, fp);
|
||||
+ if(fp && !fp->nofree)
|
||||
+ {
|
||||
+ free((void*)fp);
|
||||
+ fp = NIL(Namfun_t*);
|
||||
+ }
|
||||
+ nv_putv(np, NIL(char*), flags, fp);
|
||||
+ if(fp)
|
||||
+ fp->next = np->nvfun;
|
||||
+ np->nvfun = fp;
|
||||
}
|
||||
|
||||
/*
|
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/bltins/typeset.c
|
||||
+++ src/cmd/ksh93/bltins/typeset.c 2012-10-19 16:56:48.561818559 +0200
|
||||
@@ -746,6 +746,7 @@
|
||||
+++ src/cmd/ksh93/bltins/typeset.c 2012-10-19 14:56:49.000000000 +0000
|
||||
@@ -756,6 +756,7 @@ static int setall(char **argv,regist
|
||||
}
|
||||
if (tp->aflag == '-')
|
||||
{
|
||||
@ -8,7 +8,7 @@
|
||||
if((flag&NV_EXPORT) && (strchr(name,'.') || nv_isvtree(np)))
|
||||
errormsg(SH_DICT,ERROR_exit(1),e_badexport,name);
|
||||
#if SHOPT_BSH
|
||||
@@ -764,6 +765,9 @@
|
||||
@@ -774,6 +775,9 @@ static int setall(char **argv,regist
|
||||
else if(!(flag&NV_LJUST))
|
||||
newflag &= ~NV_LJUST;
|
||||
}
|
||||
@ -18,12 +18,3 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1222,7 +1226,7 @@
|
||||
if(shp->subshell)
|
||||
np=sh_assignok(np,0);
|
||||
}
|
||||
- if(!nv_isnull(np))
|
||||
+ if(!nv_isnull(np) || nv_size(np) || nv_isattr(np,~(NV_MINIMAL|NV_NOFREE)))
|
||||
_nv_unset(np,0);
|
||||
if(troot==shp->var_tree && shp->st.real_fun && (dp=shp->var_tree->walk) && dp==shp->st.real_fun->sdict)
|
||||
nv_delete(np,dp,NV_NOFREE);
|
||||
|
219
ksh93.dif
219
ksh93.dif
@ -1,6 +1,6 @@
|
||||
--- src/cmd/ksh93/bltins/print.c
|
||||
+++ src/cmd/ksh93/bltins/print.c 2008-05-05 11:20:21.000000000 +0000
|
||||
@@ -86,7 +86,11 @@ static char* nullarg[] = { 0, 0 };
|
||||
@@ -105,7 +105,11 @@ static char* nullarg[] = { 0, 0 };
|
||||
{
|
||||
static char bsd_univ;
|
||||
struct print prdata;
|
||||
@ -13,7 +13,7 @@
|
||||
prdata.raw = prdata.echon = 0;
|
||||
prdata.sh = context->shp;
|
||||
NOT_USED(argc);
|
||||
@@ -99,7 +103,52 @@ static char* nullarg[] = { 0, 0 };
|
||||
@@ -118,7 +122,52 @@ static char* nullarg[] = { 0, 0 };
|
||||
prdata.sh->universe = 1;
|
||||
}
|
||||
if(!bsd_univ)
|
||||
@ -68,7 +68,7 @@
|
||||
while(argv[1] && *argv[1]=='-')
|
||||
--- src/cmd/ksh93/data/msg.c
|
||||
+++ src/cmd/ksh93/data/msg.c 2007-12-20 18:01:26.000000000 +0000
|
||||
@@ -199,7 +199,7 @@ const char e_bash_login[] = "$HOME/.bash
|
||||
@@ -202,7 +202,7 @@ const char e_bash_login[] = "$HOME/.bash
|
||||
const char e_bash_logout[] = "$HOME/.bash_logout";
|
||||
const char e_bash_profile[] = "$HOME/.bash_profile";
|
||||
#endif
|
||||
@ -79,7 +79,7 @@
|
||||
const char e_suidexec[] = "/etc/suid_exec";
|
||||
--- src/cmd/ksh93/data/variables.c
|
||||
+++ src/cmd/ksh93/data/variables.c 2008-09-18 17:22:24.000000000 +0000
|
||||
@@ -68,7 +68,7 @@ const struct shtable2 shtab_variables[]
|
||||
@@ -69,7 +69,7 @@ const struct shtable2 shtab_variables[]
|
||||
"OPTARG", 0, (char*)0,
|
||||
"OPTIND", NV_NOFREE|NV_INTEGER, (char*)0,
|
||||
"PS4", 0, (char*)0,
|
||||
@ -112,7 +112,7 @@
|
||||
except possibly the last,
|
||||
--- src/cmd/ksh93/sh/main.c
|
||||
+++ src/cmd/ksh93/sh/main.c 2007-12-20 18:01:26.000000000 +0000
|
||||
@@ -130,9 +130,9 @@ int sh_source(Shell_t *shp, Sfio_t *iop,
|
||||
@@ -113,9 +113,9 @@ int sh_source(Shell_t *shp, Sfio_t *iop,
|
||||
}
|
||||
|
||||
#ifdef S_ISSOCK
|
||||
@ -124,7 +124,7 @@
|
||||
#endif
|
||||
|
||||
int sh_main(int ac, char *av[], Shinit_f userinit)
|
||||
@@ -199,7 +199,7 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
@@ -179,7 +179,7 @@ int sh_main(int ac, char *av[], Shinit_f
|
||||
}
|
||||
if(!sh_isoption(SH_RC) && (sh_isoption(SH_BASH) && !sh_isoption(SH_POSIX)
|
||||
#if SHOPT_REMOTE
|
||||
@ -134,8 +134,8 @@
|
||||
))
|
||||
sh_onoption(SH_RC);
|
||||
--- src/cmd/ksh93/sh/xec.c
|
||||
+++ src/cmd/ksh93/sh/xec.c 2012-01-26 12:07:46.463645375 +0000
|
||||
@@ -922,7 +922,7 @@ int sh_exec(register const Shnode_t *t,
|
||||
+++ src/cmd/ksh93/sh/xec.c 2012-01-26 12:07:46.000000000 +0000
|
||||
@@ -1015,7 +1015,7 @@ int sh_exec(register const Shnode_t *t,
|
||||
{
|
||||
case TCOM:
|
||||
{
|
||||
@ -144,7 +144,7 @@
|
||||
char *trap;
|
||||
Namval_t *np, *nq, *last_table;
|
||||
struct ionod *io;
|
||||
@@ -1027,7 +1027,7 @@ int sh_exec(register const Shnode_t *t,
|
||||
@@ -1131,7 +1131,7 @@ int sh_exec(register const Shnode_t *t,
|
||||
comn = com[argn-1];
|
||||
}
|
||||
io = t->tre.treio;
|
||||
@ -165,7 +165,7 @@
|
||||
unset var
|
||||
typeset -b var
|
||||
--- src/cmd/ksh93/tests/bracket.sh
|
||||
+++ src/cmd/ksh93/tests/bracket.sh 2012-02-09 14:11:32.365933854 +0000
|
||||
+++ src/cmd/ksh93/tests/bracket.sh 2012-02-09 14:11:32.000000000 +0000
|
||||
@@ -221,6 +221,10 @@ done
|
||||
[[ abcdcdabcde == {5}(ab|cd)e ]] || err_exit 'abcdcdabcd == {5}(ab|cd)e'
|
||||
) || err_exit 'errors with {..}(...) patterns'
|
||||
@ -187,7 +187,7 @@
|
||||
[[ -L "$file"/ ]] && err_exit '-L with file/ not working'
|
||||
--- src/cmd/ksh93/tests/builtins.sh
|
||||
+++ src/cmd/ksh93/tests/builtins.sh 2009-07-09 13:14:50.000000000 +0000
|
||||
@@ -332,7 +332,7 @@ wait $pid1
|
||||
@@ -344,7 +344,7 @@ wait $pid1
|
||||
(( $? == 1 )) || err_exit "wait not saving exit value"
|
||||
wait $pid2
|
||||
(( $? == 127 )) || err_exit "subshell job known to parent"
|
||||
@ -197,88 +197,88 @@
|
||||
for v in ${v//,/ }
|
||||
do v=${v#*:}
|
||||
--- src/cmd/ksh93/tests/coprocess.sh
|
||||
+++ src/cmd/ksh93/tests/coprocess.sh 2012-02-09 13:39:13.794169756 +0000
|
||||
@@ -107,15 +107,15 @@ ${SHELL-ksh} |&
|
||||
cop=$!
|
||||
exp=Done
|
||||
print -p $'print hello | cat\nprint '$exp
|
||||
-read -t 5 -p
|
||||
-read -t 5 -p
|
||||
+read -t 50 -p
|
||||
+read -t 50 -p
|
||||
got=$REPLY
|
||||
if [[ $got != $exp ]]
|
||||
then err_exit "${SHELL-ksh} coprocess io failed -- got '$got', expected '$exp'"
|
||||
fi
|
||||
exec 5<&p 6>&p
|
||||
exec 5<&- 6>&-
|
||||
-{ sleep 4; kill $cop; } 2>/dev/null &
|
||||
+{ sleep 10; kill $cop; } 2>/dev/null &
|
||||
spy=$!
|
||||
if wait $cop 2>/dev/null
|
||||
then kill $spy 2>/dev/null
|
||||
@@ -128,10 +128,10 @@ echo line1 | grep 'line2'
|
||||
echo line2 | grep 'line1'
|
||||
} |&
|
||||
SECONDS=0 count=0
|
||||
-while read -p -t 10 line
|
||||
+while read -p -t 100 line
|
||||
do ((count++))
|
||||
done
|
||||
-if (( SECONDS > 8 ))
|
||||
+if (( SECONDS > 80 ))
|
||||
then err_exit "read -p hanging (SECONDS=$SECONDS count=$count)"
|
||||
fi
|
||||
wait $!
|
||||
@@ -154,7 +154,7 @@ e=12345
|
||||
wait $!
|
||||
+++ src/cmd/ksh93/tests/coprocess.sh 2013-02-01 15:22:31.000000000 +0000
|
||||
@@ -113,15 +113,15 @@ do
|
||||
cop=$!
|
||||
exp=Done
|
||||
print -p $'print hello | '$cat$'\nprint '$exp
|
||||
- read -t 5 -p
|
||||
- read -t 5 -p
|
||||
+ read -t 50 -p
|
||||
+ read -t 50 -p
|
||||
got=$REPLY
|
||||
if [[ $got != $exp ]]
|
||||
then err_exit "${SHELL-ksh} $cat coprocess io failed -- got '$got', expected '$exp'"
|
||||
fi
|
||||
exec 5<&p 6>&p
|
||||
exec 5<&- 6>&-
|
||||
- { sleep 4; kill $cop; } 2>/dev/null &
|
||||
+ { sleep 10; kill $cop; } 2>/dev/null &
|
||||
spy=$!
|
||||
if wait $cop 2>/dev/null
|
||||
then kill $spy 2>/dev/null
|
||||
@@ -134,10 +134,10 @@ do
|
||||
echo line2 | grep 'line1'
|
||||
} |&
|
||||
SECONDS=0 count=0
|
||||
- while read -p -t 10 line
|
||||
+ while read -p -t 100 line
|
||||
do ((count++))
|
||||
done
|
||||
print
|
||||
-) 2>/dev/null | read -t 10 r
|
||||
+) 2>/dev/null | read -t 100 r
|
||||
[[ $r == $e ]] || err_exit "coprocess timing bug -- expected $e, got '$r'"
|
||||
r=
|
||||
(
|
||||
@@ -166,8 +166,9 @@ r=
|
||||
wait $!
|
||||
- if (( SECONDS > 8 ))
|
||||
+ if (( SECONDS > 80 ))
|
||||
then err_exit "$cat coprocess read -p hanging (SECONDS=$SECONDS count=$count)"
|
||||
fi
|
||||
wait $!
|
||||
@@ -160,7 +160,7 @@ do
|
||||
wait $!
|
||||
done
|
||||
print
|
||||
- ) 2>/dev/null | read -t 10 r
|
||||
+ ) 2>/dev/null | read -t 100 r
|
||||
[[ $r == $e ]] || err_exit "$cat coprocess timing bug -- expected $e, got '$r'"
|
||||
|
||||
r=
|
||||
@@ -173,8 +173,9 @@ do
|
||||
wait $!
|
||||
done
|
||||
print $r
|
||||
- ) 2>/dev/null | read -t 10 r
|
||||
+ ) 2>/dev/null | read -t 100 r
|
||||
[[ $r == $e ]] || err_exit "$cat coprocess command substitution bug -- expected $e, got '$r'"
|
||||
+ kill $(jobs -p) 2>/dev/null
|
||||
|
||||
(
|
||||
$cat |&
|
||||
@@ -212,7 +213,7 @@ do
|
||||
done
|
||||
print $r
|
||||
-) 2>/dev/null | read -t 10 r
|
||||
+) 2>/dev/null | read -t 100 r
|
||||
[[ $r == $e ]] || err_exit "coprocess command substitution bug -- expected $e, got '$r'"
|
||||
+kill $(jobs -p) 2>/dev/null
|
||||
|
||||
(
|
||||
/bin/cat |&
|
||||
@@ -205,7 +206,7 @@ do if ( trap - $sig ) 2> /dev/null
|
||||
done
|
||||
|
||||
trap 'sleep_pid=; kill $pid; err_exit "coprocess 1 hung"' TERM
|
||||
-{ sleep 5; kill $$; } &
|
||||
+{ sleep 10; kill $$; } &
|
||||
sleep_pid=$!
|
||||
builtin cat
|
||||
cat |&
|
||||
@@ -220,7 +221,7 @@ trap - TERM
|
||||
[[ $sleep_pid ]] && kill $sleep_pid
|
||||
|
||||
trap 'sleep_pid=; kill $pid; err_exit "coprocess 2 hung"' TERM
|
||||
-{ sleep 5; kill $$; } &
|
||||
+{ sleep 10; kill $$; } &
|
||||
sleep_pid=$!
|
||||
cat |&
|
||||
pid=$!
|
||||
@@ -232,7 +233,7 @@ trap - TERM
|
||||
[[ $sleep_pid ]] && kill $sleep_pid
|
||||
|
||||
trap 'sleep_pid=; kill $pid; err_exit "coprocess 3 hung"' TERM
|
||||
-{ sleep 5; kill $$; } &
|
||||
+{ sleep 10; kill $$; } &
|
||||
sleep_pid=$!
|
||||
cat |&
|
||||
pid=$!
|
||||
|
||||
trap 'sleep_pid=; kill $pid; err_exit "$cat coprocess 1 hung"' TERM
|
||||
- { sleep 5; kill $$; } &
|
||||
+ { sleep 10; kill $$; } &
|
||||
sleep_pid=$!
|
||||
$cat |&
|
||||
pid=$!
|
||||
@@ -226,7 +227,7 @@ do
|
||||
[[ $sleep_pid ]] && kill $sleep_pid
|
||||
|
||||
trap 'sleep_pid=; kill $pid; err_exit "$cat coprocess 2 hung"' TERM
|
||||
- { sleep 5; kill $$; } &
|
||||
+ { sleep 10; kill $$; } &
|
||||
sleep_pid=$!
|
||||
$cat |&
|
||||
pid=$!
|
||||
@@ -238,7 +239,7 @@ do
|
||||
[[ $sleep_pid ]] && kill $sleep_pid
|
||||
|
||||
trap 'sleep_pid=; kill $pid; err_exit "$cat coprocess 3 hung"' TERM
|
||||
- { sleep 5; kill $$; } &
|
||||
+ { sleep 10; kill $$; } &
|
||||
sleep_pid=$!
|
||||
$cat |&
|
||||
pid=$!
|
||||
--- src/cmd/ksh93/tests/locale.sh
|
||||
+++ src/cmd/ksh93/tests/locale.sh 2011-05-24 16:46:02.000000000 +0200
|
||||
+++ src/cmd/ksh93/tests/locale.sh 2011-05-24 14:46:02.000000000 +0000
|
||||
@@ -62,7 +62,7 @@ done
|
||||
# this locale is supported by ast on all platforms
|
||||
# EU for { decimal_point="," thousands_sep="." }
|
||||
@ -319,7 +319,7 @@
|
||||
")
|
||||
got=$*
|
||||
--- src/cmd/ksh93/tests/options.sh
|
||||
+++ src/cmd/ksh93/tests/options.sh 2012-01-16 16:50:59.135145199 +0000
|
||||
+++ src/cmd/ksh93/tests/options.sh 2012-01-16 16:50:59.000000000 +0000
|
||||
@@ -510,7 +510,7 @@ z=$($SHELL 2>&1 -uc 'print ${X2345678901
|
||||
[[ $z == *X23456789012345:* ]] || err_exit "error message garbled with set -u got $z"
|
||||
|
||||
@ -341,7 +341,7 @@
|
||||
PATH=$path
|
||||
|
||||
--- src/cmd/ksh93/tests/pty.sh
|
||||
+++ src/cmd/ksh93/tests/pty.sh 2012-03-15 11:51:40.018434039 +0000
|
||||
+++ src/cmd/ksh93/tests/pty.sh 2012-03-15 11:51:40.000000000 +0000
|
||||
@@ -428,15 +428,16 @@ r echo repeat-3
|
||||
|
||||
# err_exit #
|
||||
@ -362,7 +362,7 @@
|
||||
|
||||
exit $((Errors<125?Errors:125))
|
||||
--- src/cmd/ksh93/tests/signal.sh
|
||||
+++ src/cmd/ksh93/tests/signal.sh 2011-05-20 13:25:48.196426330 +0000
|
||||
+++ src/cmd/ksh93/tests/signal.sh 2011-05-20 13:25:48.000000000 +0000
|
||||
@@ -285,10 +285,10 @@ then for exp in TERM VTALRM PIPE
|
||||
$SHELL <<- EOF
|
||||
foo() { return 0; }
|
||||
@ -378,7 +378,7 @@
|
||||
} 2>> /dev/null
|
||||
--- src/lib/libast/disc/memfatal.c
|
||||
+++ src/lib/libast/disc/memfatal.c 2009-07-09 13:30:39.000000000 +0000
|
||||
@@ -72,7 +72,7 @@ memfatal(void)
|
||||
@@ -74,7 +74,7 @@ memfatal(void)
|
||||
{
|
||||
Vmdisc_t* disc;
|
||||
|
||||
@ -409,7 +409,7 @@
|
||||
#include "FEATURE/lib"
|
||||
--- src/lib/libast/features/lib
|
||||
+++ src/lib/libast/features/lib 2007-12-20 18:01:26.000000000 +0000
|
||||
@@ -523,14 +523,19 @@ tst lib_utime_now note{ utime works with
|
||||
@@ -538,14 +538,19 @@ tst lib_utime_now note{ utime works with
|
||||
}end
|
||||
|
||||
tst cross{
|
||||
@ -438,7 +438,7 @@
|
||||
|
||||
--- src/lib/libast/misc/procopen.c
|
||||
+++ src/lib/libast/misc/procopen.c 2007-12-20 18:01:26.000000000 +0000
|
||||
@@ -598,7 +598,7 @@ procopen(const char* cmd, char** argv, c
|
||||
@@ -599,7 +599,7 @@ procopen(const char* cmd, char** argv, c
|
||||
if (!fork())
|
||||
{
|
||||
sfsprintf(path, sizeof(path), "%d", getppid());
|
||||
@ -448,7 +448,7 @@
|
||||
}
|
||||
sleep(2);
|
||||
--- src/lib/libast/port/astwinsize.c
|
||||
+++ src/lib/libast/port/astwinsize.c 2012-02-03 08:58:43.217934605 +0000
|
||||
+++ src/lib/libast/port/astwinsize.c 2012-02-03 08:58:43.000000000 +0000
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <ast.h>
|
||||
#include <ast_tty.h>
|
||||
@ -482,9 +482,20 @@
|
||||
#define S2F_type 2
|
||||
#define S2F_scan 1
|
||||
#ifndef elementsof
|
||||
--- src/lib/libcmd/Mamfile
|
||||
+++ src/lib/libcmd/Mamfile 2013-02-05 10:41:01.310073683 +0000
|
||||
@@ -897,7 +897,7 @@ exec - -e '/^b_[a-z_][a-z_0-9]*(/!d' \
|
||||
exec - -e 's/^b_//' \
|
||||
exec - -e 's/(.*//' \
|
||||
exec - -e 's/.*/CMDLIST(&)/' \
|
||||
-exec - |
|
||||
+exec - cmdinit.c basename.c cat.c chgrp.c chmod.c chown.c cksum.c cmp.c comm.c cp.c cut.c dirname.c date.c expr.c fds.c fmt.c fold.c getconf.c head.c id.c join.c ln.c logname.c md5sum.c mkdir.c mkfifo.c mktemp.c mv.c paste.c pathchk.c pids.c rev.c rm.c rmdir.c stty.c sum.c sync.c tail.c tee.c tty.c uname.c uniq.c vmstate.c wc.c revlib.c wclib.c fts_fix.c lib.c |
|
||||
exec - sort -u
|
||||
exec - } > 1.${COTEMP}.h
|
||||
exec - if cmp 2>/dev/null -s 1.${COTEMP}.h cmdlist.h
|
||||
--- src/lib/libcmd/chmod.c
|
||||
+++ src/lib/libcmd/chmod.c 2011-05-20 13:28:57.511927049 +0000
|
||||
@@ -272,7 +272,7 @@ b_chmod(int argc, char** argv, void* con
|
||||
+++ src/lib/libcmd/chmod.c 2011-05-20 13:28:58.000000000 +0000
|
||||
@@ -272,7 +272,7 @@ b_chmod(int argc, char** argv, Shbltin_t
|
||||
case FTS_SLNONE:
|
||||
if (chlink)
|
||||
{
|
||||
@ -493,13 +504,3 @@
|
||||
chmodf = lchmod;
|
||||
goto commit;
|
||||
#else
|
||||
--- src/lib/libcmd/vmstate.c
|
||||
+++ src/lib/libcmd/vmstate.c 2012-02-21 13:10:56.085934573 +0000
|
||||
@@ -50,6 +50,7 @@ USAGE_LICENSE
|
||||
|
||||
#include <cmd.h>
|
||||
#include <vmalloc.h>
|
||||
+#include <sfdisc.h>
|
||||
|
||||
typedef struct State_s
|
||||
{
|
||||
|
@ -20,7 +20,7 @@
|
||||
setv YACC yacc
|
||||
--- src/cmd/INIT/iffe.sh
|
||||
+++ src/cmd/INIT/iffe.sh 2008-02-14 12:15:59.000000000 +0000
|
||||
@@ -1117,7 +1117,7 @@ case `(getopts '[-][123:xyz]' opt --xyz;
|
||||
@@ -1170,7 +1170,7 @@ case `(getopts '[-][123:xyz]' opt --xyz;
|
||||
--*) echo $command: $1: unknown option >&2
|
||||
exit 2
|
||||
;;
|
||||
@ -85,7 +85,7 @@
|
||||
}
|
||||
|
||||
--- src/cmd/ksh93/Mamfile
|
||||
+++ src/cmd/ksh93/Mamfile 2012-02-10 15:30:30.774546719 +0100
|
||||
+++ src/cmd/ksh93/Mamfile 2012-02-10 14:30:31.000000000 +0000
|
||||
@@ -7,7 +7,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
|
||||
setv ARFLAGS rc
|
||||
setv AS as
|
||||
@ -140,7 +140,7 @@
|
||||
make shell
|
||||
prev libshell.a archive
|
||||
--- src/lib/libast/Mamfile
|
||||
+++ src/lib/libast/Mamfile 2012-03-14 11:36:06.073934348 +0000
|
||||
+++ src/lib/libast/Mamfile 2013-02-05 15:08:23.757451837 +0000
|
||||
@@ -5,7 +5,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
|
||||
setv ARFLAGS rc
|
||||
setv AS as
|
||||
@ -159,7 +159,7 @@
|
||||
setv SILENT
|
||||
setv TAR tar
|
||||
setv YACC yacc
|
||||
@@ -999,7 +999,7 @@ make lcgen
|
||||
@@ -1003,7 +1003,7 @@ make lcgen
|
||||
make port/lcgen.c
|
||||
prev std/stdio.h implicit
|
||||
done port/lcgen.c
|
||||
@ -168,8 +168,8 @@
|
||||
done lcgen generated
|
||||
make port/lc.tab
|
||||
done port/lc.tab
|
||||
@@ -7282,64 +7282,37 @@ done ${INSTALLROOT}/lib/file/magic gener
|
||||
make ${INSTALLROOT}/include/ast/fmtmsg.h
|
||||
@@ -7291,58 +7291,31 @@ exec - test '' = 'misc/magic.tab' || ${S
|
||||
done ${INSTALLROOT}/lib/file/magic generated
|
||||
prev comp/fmtmsg.h
|
||||
prev ast_lib.h
|
||||
-exec - case ${mam_cc_HOSTTYPE} in
|
||||
@ -189,9 +189,6 @@
|
||||
exec - }
|
||||
-exec - ;;
|
||||
-exec - esac
|
||||
prev ${INSTALLROOT}/include/prototyped.h implicit
|
||||
done ${INSTALLROOT}/include/ast/fmtmsg.h generated
|
||||
make ${INSTALLROOT}/include/ast/libgen.h
|
||||
prev comp/libgen.h
|
||||
prev ast_lib.h
|
||||
-exec - case ${mam_cc_HOSTTYPE} in
|
||||
@ -211,9 +208,6 @@
|
||||
exec - }
|
||||
-exec - ;;
|
||||
-exec - esac
|
||||
prev ${INSTALLROOT}/include/prototyped.h implicit
|
||||
done ${INSTALLROOT}/include/ast/libgen.h generated
|
||||
make ${INSTALLROOT}/include/ast/syslog.h
|
||||
prev comp/syslog.h
|
||||
prev ast_lib.h
|
||||
-exec - case ${mam_cc_HOSTTYPE} in
|
||||
@ -233,11 +227,11 @@
|
||||
exec - }
|
||||
-exec - ;;
|
||||
-exec - esac
|
||||
prev ast_namval.h implicit
|
||||
prev ${INSTALLROOT}/include/prototyped.h implicit
|
||||
done ${INSTALLROOT}/include/ast/syslog.h generated
|
||||
done install virtual
|
||||
make test
|
||||
done test dontcare virtual
|
||||
--- src/lib/libcmd/Mamfile
|
||||
+++ src/lib/libcmd/Mamfile 2012-02-06 10:06:34.179552617 +0000
|
||||
+++ src/lib/libcmd/Mamfile 2013-02-05 15:13:53.797951789 +0000
|
||||
@@ -7,7 +7,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
|
||||
setv ARFLAGS rc
|
||||
setv AS as
|
||||
@ -245,7 +239,7 @@
|
||||
-setv CC cc
|
||||
+setv CC gcc
|
||||
setv mam_cc_FLAGS ${mam_cc_DLL}
|
||||
setv CCFLAGS ${mam_cc_DEBUG}
|
||||
setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?}
|
||||
setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??}
|
||||
@@ -29,7 +29,7 @@ setv NMAKE nmake
|
||||
setv NMAKEFLAGS
|
||||
@ -278,7 +272,7 @@
|
||||
setv YACC yacc
|
||||
--- src/lib/libpp/Mamfile
|
||||
+++ src/lib/libpp/Mamfile 2012-01-24 18:31:22.000000000 +0000
|
||||
@@ -661,7 +661,7 @@ exec - .
|
||||
@@ -663,7 +663,7 @@ exec - .
|
||||
exec - w
|
||||
exec - q
|
||||
exec - !
|
||||
@ -287,7 +281,7 @@
|
||||
exec - ./${COTEMP}.exe > pp.yacc
|
||||
exec - rm -f 1.${COTEMP}.c ${COTEMP}.exe
|
||||
done pp.yacc generated
|
||||
@@ -703,7 +703,7 @@ exec - .
|
||||
@@ -705,7 +705,7 @@ exec - .
|
||||
exec - w
|
||||
exec - q
|
||||
exec - !
|
||||
|
Loading…
Reference in New Issue
Block a user