2182 Commits

Author SHA1 Message Date
tg
10aa532414 these want to be bool, not int
but no idea how to address CID 703483, if it needs to be addressed at all…
2012-06-24 20:05:23 +00:00
tg
025a6a325e CID 703484: resource leak in error path 2012-06-24 20:00:51 +00:00
tg
df81e96d67 Coverity 703490: better zero out sigact 2012-06-24 19:47:11 +00:00
tg
252a7ce68f Coverity 703479: add missing /* FALLTHROUGH */ 2012-06-24 19:36:27 +00:00
tg
4c65f518af RT says: libc5 uses __inline__ for its inline stuff, but lcc doesn't support __inline__ but __inline 2012-05-18 01:38:04 +00:00
tg
1eebfa8b85 check whether klibc sigsuspend() is usable: RT or hpa’s two new methods; if not, deactivate it 2012-05-17 19:36:41 +00:00
tg
6b2aa91ddd add a way to detect varying C libraries or other stuff “extra type”
(for now klibc) alongside “compiler type”

if klibc, add -DMKSH_NO_LIMITS automatically
2012-05-17 19:14:07 +00:00
tg
d05c7c4867 recognise (but don’t do anything with, yet) lcc (from RT) 2012-05-17 18:54:28 +00:00
tg
3125146b43 Fix typeset issues (LP: #993847)
This was actually more evil:
• use a recursive function to display blocks in reverse order,
  so that local variable values overwrite global ones
• add array support to typeset -p (from typeset -p -)
• display 'set -A varname' line before setting values, for -p
• if -p got arguments, only display those (from the innermost scope)

Also, the usual amount of code cleanup…
2012-05-09 23:21:00 +00:00
tg
b89b96a4ab RT says not using sigsuspend helps Syllable (but is still buggy, see http://forum.syllable.org/viewtopic.php?p=8171 and probably (doesn’t work for me) http://pyro-os.org/?section=Forum&forum=Bugs&zpbw_postKey=NUgSMp85XGHKbF751zJ6Ww which show the bug affects all shells) 2012-05-09 23:20:42 +00:00
tg
1117a25748 • sync clog
• write more notes on klibc, BeOS, Coherent, PW32, Syllable, Xenix
• sort DOS OE section to where it belongs
• add TARGET_OS=_svr4 for Dell UNIX
2012-05-07 17:03:03 +00:00
tg
d9d2485905 overhaul the grep(1)s and sed(1)s – see re_format(7) 2012-05-06 15:40:31 +00:00
tg
06f8194dfb Valgrind says: close(-1) is not nice 2012-05-05 18:04:20 +00:00
tg
ea8f29f428 sprinkle CONSERVATIVE_FDS for many older OSes; DISABLE_TTY_WARNING for BeOS and Coherent (probably more to come); NO_CMDLINE_EDITING to Plan 9; put Hurd NO_PATH_MAX into MKSH__ private namespace 2012-05-05 17:37:44 +00:00
tg
29e36ed2a2 move x_mkraw() to main.c from edit.c in order to be able to skip the latter 2012-05-05 17:32:33 +00:00
tg
64447e738d my own over-optimisation prevents me from making the MKSH__NO_SYMLINK
case as nice as it could be, since part of the “if (0) {” case is jumped
into for the first run of the loop… thanks RT
2012-05-05 15:10:39 +00:00
tg
f34cae3997 keep up 2012-05-04 22:44:34 +00:00
tg
27387673a4 new MKSH_DISABLE_TTY_WARNING for ports that just can’t help it
TODO: add_cppflags this automatically in the TARGET_OS switch for some
2012-05-04 22:34:51 +00:00
tg
e6ace01f12 last parts of Coherent patchkit: O_ACCMODE and termio 2012-05-04 22:18:27 +00:00
tg
fef3808126 more symlink(7) nonexistence support code 2012-05-04 22:05:02 +00:00
tg
401116766b generalise the skipping sete{u,g}id() case for Coherent, not just BeOS 2012-05-04 21:57:38 +00:00
tg
893ff18d59 fix typo; 10x RT for spotting 2012-05-04 21:48:29 +00:00
tg
7beac6668d provide for Coherent not having gettimeofday(2), imake style (bad, but this is not for others to use without a second thought anyway) 2012-05-04 21:47:04 +00:00
tg
5488e79d3b introduce a nosymlink check category (idea by RT); pass it to test.sh; use cp if ln -s fails (me) 2012-05-04 21:42:51 +00:00
tg
b1aa05e36e do not use $(uname -s || uname) as TARGET_OS if it’s the same as $(uname -n), to weave around many ancient unicēs; idea discussed with RT 2012-05-04 21:37:08 +00:00
tg
000d0eb653 another awk(1) compatibility fix from RT 2012-05-04 21:34:12 +00:00
tg
bc61602efc RT points out there may be a tab inside the NSIG expansion 2012-05-04 21:33:14 +00:00
tg
cb7dc2b45b fix copy/paste accident; found by RT 2012-05-04 21:30:06 +00:00
tg
2d0ca10629 patch test.sh to support check.t split into multiple chunks
which is apparently needed on Coherent due to OS limits

inspired by a patched test.sh from RT, except I require a
dot before the sequence number for easier globbing, made
the splitting use -S, and the errorlevel is more correct
2012-05-04 21:28:06 +00:00
tg
2d31aca859 more int→bool while trying to let ^D output CR+LF (which shan’t be, oh my…) 2012-05-04 21:15:34 +00:00
tg
5780bc5eb7 new MKSH_NO_CMDLINE_EDITING to disable command line editing in its entirety
mainly for the Plan 9 port though it may also help the WinAPI variant,
other porting efforts, as well as a new project I cannot say yet
2012-05-04 20:49:08 +00:00
tg
7c4bf78446 move bi_getn from misc.c to funcs.c and make it static
even antique gcc versions will usually inline it now
2012-05-04 20:08:25 +00:00
tg
4cc5fc3e29 avoid C99 constructs even in debugging code 2012-05-04 18:45:03 +00:00
tg
b67de6ba17 add experimental code to use sigprocmask+pause+sigprocmask ipv sigsuspend (and harden j_sigchld handler for that) to improve working on BeOS 5.0 and Coherent UNIX, found by RT 2012-04-27 16:16:23 +00:00
tg
5204e7cc4f after discussion with ciruZ, switch mksh from NZAT to NZAAT fully
to get rid of the bias introduced by making the hash never zero

… he also pointed out a memory (heap) usage optimisation… which
may impact code size a bit though as I’d need to pass an additional
argument on hashtable function calls… or, forgo the benefit of not
having to pointer-align the key in the structure, which can be as
much as 3/7 octets per item, heap storage… OTOH the saved space is
4/8 octets per not-allocated item, possibly some code (use of an
multiply-add opcode), but the function call overhead/cost would
possibly be quite a bit… I guess I’ll have to measure…
2012-04-22 21:50:35 +00:00
tg
48da83288d work around segfault bug in GNU sed 2.03, spotted by RT on Debian 0.91 2012-04-16 17:49:40 +00:00
tg
ea6b0c60f5 write a bit about pcc, 386BSD, klibc 2012-04-14 19:35:43 +00:00
tg
5eea59ad57 rewrite maketemp() obsoleting tempnam(3) and mkstemp(3) external deps 2012-04-14 16:07:48 +00:00
tg
70e6988d25 factor out rndget() code, for adding users
XXX in the future, the entire scheme must be rethinked when we need more
XXX entropy for the hash tables; possibly a cheap add using NZAT and re-
XXX initialise the LCG only on access and when added (so keep NZAT state
XXX separate from LCG state); also, then we will need a more elaborate
XXX scheme, such as adding from environment, editor keypresses and timing
2012-04-14 14:35:13 +00:00
tg
b497da1eb4 add 386BSD, thanks to the unbelievable RT 2012-04-14 14:11:07 +00:00
tg
b49abfac18 genericise MKSH_NO_SIGSETJMP 2012-04-14 14:07:47 +00:00
tg
0e0b379615 sometimes <stdlib.h> doesn’t provide NULL but <stddef.h> does (386BSD) 2012-04-14 14:04:13 +00:00
tg
29e4269f33 if the OS does not provide sig_atomic_t and/or ssize_t, you can now define
MKSH_TYPEDEF_SIG_ATOMIC_T and MKSH_TYPEDEF_SSIZE_T via CPPFLAGS to the
*correct* definitions (it’s absolutely critical they be correct!)
2012-04-14 14:02:40 +00:00
tg
d388de51f9 update to latest portmdoc; apply the Lt/Gt/Ba rule again 2012-04-14 12:51:34 +00:00
tg
536bc0463f make -fwrapv common; at least clang also can do it 2012-04-08 20:02:33 +00:00
tg
5b4d0dbbc5 drop all deprecated code, you have been warned 2012-04-07 11:19:53 +00:00
tg
2d879f3b79 move unexpected TELIF warning into #ifdef DEBUG as it never triggered 2012-04-07 11:19:30 +00:00
tg
0af5e1f288 can’t forget LynxOS, although it’s still preliminary… 2012-04-06 23:10:50 +00:00
tg
5d4492608a more speling 2012-04-06 15:23:11 +00:00
tg
3d3081115b if LDSTATIC is not empty (i.e. "-static" or " "), always add “our” sources:
• strlcpy
• utf_wcwidth
note strchr/strstr from misc.c are still #ifdef DEBUG only, as they are
not eligible: they’re for const-cleanliness debugging purposes

XXX get rid of multiple occurrences of binary search code, too…
2012-04-06 15:20:42 +00:00