tg
151d913115
remove all but these __CRAZY=Yes build warnings:
...
main.c: In function 'main':
main.c:208: warning: cast discards qualifiers from pointer target type
main.c:329: warning: cast discards qualifiers from pointer target type
no warnings at autoconf time left either; will take care of these two later
(might revisit changes from this commit), maybe change declararion for the
builtins to have their argv[] be const strings, and go through strict type
and qualifier checking again. this'll further improve stability.
XXX these changes might have introduced (more?) memory leaks,
XXX someone who knows about these tools should verify with
XXX automatic memory usage analysers (valgrind?)
still passes testsuite
2006-11-12 14:58:16 +00:00
tg
fa7407a37c
__CRAZY=Yes clean autoconf functions
2006-11-12 13:49:22 +00:00
tg
06b5723f83
oops, wrong protos
2006-11-12 13:38:40 +00:00
tg
f7ef916ed9
* fix CR-LF accident
...
* fix gcc4 warnings in autoconf tests
* Debian needs <grp.h> for setgroups, which seems fairly POSIX
Testsuite succeeds on Debian testing/unstable (i386)
2006-11-12 13:35:29 +00:00
tg
623bf49f19
order the same way as Build.sh outputs them
2006-11-12 13:21:50 +00:00
tg
abf1944a8e
more warnings, cought on interix
2006-11-12 13:20:15 +00:00
tg
df01c5b051
strcasestr, oops
2006-11-12 13:19:06 +00:00
tg
2c1ffced08
unbelievably, cygwin doesn't have strcasestr(3)
2006-11-12 13:15:27 +00:00
tg
5267e51098
header checks before function checks
2006-11-12 13:09:09 +00:00
tg
c20d203346
check for getmode as well when checking for setmode;
...
disable this check on winapi systems since their setmode is something else
2006-11-12 13:08:30 +00:00
tg
a799f50fea
scan for setresuid/setresgid and setgroups
...
no alternative implementation yet
2006-11-12 12:56:10 +00:00
tg
5b525d79fb
format string warnings, courtesy of Interix 3.5
2006-11-12 12:49:25 +00:00
tg
62d9cf9fa9
only auto-enable set -o utf8-hack (set -U) for interactive shells
2006-11-12 10:44:42 +00:00
tg
742b9c6725
not being able to get current working directory shan't yield SIGSEGV, oops
2006-11-10 19:11:57 +00:00
tg
56ffbf7e70
hand-sorted ctypes/chtypes upgrade; use table-driven where they make
...
sense and preprocessored otherwise; unify the logic
saves 144t 1i and lots of cpp(1) time, as well as improves readability
2006-11-10 07:52:04 +00:00
tg
feb7dddd44
* use only macros for ctype stuff any more
...
XXX one of these uses a gcc extension, ok for now tho
* don't include <ctype.h> any more at all
* don't try nl_langinfo in small mode, just check locale
saves 171 .text, 4 .data, 256 .bss, 1 import
2006-11-10 07:18:58 +00:00
tg
35b30679c7
since so many internal things hardcode 'C' locale anyway,
...
use own is{digit,lower,upper} macros that go via byte ranges
doesn't affect utf-8 hack because these only operate on single bytes anyway
saves 224t
2006-11-10 06:53:27 +00:00
tg
b323a22b59
use tolower_() and toupper_() macros (if not available, our quick 'C' ones)
...
76t 8d 2i
2006-11-10 06:45:28 +00:00
tg
ca2b1d88ca
kill two others, saves 55t 8d 2i
2006-11-10 06:40:05 +00:00
tg
251243b253
use strcasestr not strcasecmp, oops
...
costs 55t 4d 1i
2006-11-10 06:31:47 +00:00
tg
a199d23dfa
use setresuid(2) and friends instead, saves 88t 4d 1i
...
XXX revisit this if we encounter systems without at least
XXX one of setresuid, setresgid, setgroups - only tested on BSD
2006-11-10 06:27:09 +00:00
tg
c942031805
mark the test that fails ifdef MKSH_SMALL as category:pdksh too,
...
so people can skip it if they build a small one
2006-11-10 06:18:05 +00:00
tg
2342fa1242
don't use setreuid(2) etc. stuff, like OpenBSD
...
only affects suid shell scripts, which are *ugh* anyway,
and I really have no idea what the old code did, when, why, etc.
262t 16d 2i
2006-11-10 06:16:25 +00:00
tg
27443bc0c8
skip on cesu-8, we think nl_langinfo(CODESET) at least will
...
always return utf-8 for it (on wchar_t=16bit systems); 68t
2006-11-10 05:27:43 +00:00
tg
493ad928e3
if MKSH_SMALL, disable persistent history code as well (like on Solaris,
...
where it can't work anyway), and fix that code to shrink
saves 2071t 20d 5i
2006-11-10 05:23:14 +00:00
tg
7c4f8d7e16
oops
2006-11-10 05:21:38 +00:00
tg
d5e4c261db
simplify. and, a few byte compares are cheaper than a structure
...
copy and a structure compare
gain: 103t 4d 1i
loss: had to move some code even though no diff (cvs issue)
2006-11-10 04:31:04 +00:00
tg
208c45da25
more cleanup; incidentally, replacing libc function with syscall maybe speedup
...
9t 4d 1i
2006-11-10 04:22:13 +00:00
tg
5dff5df5e5
get rid of the 'mksh -T' functionality (chvt) if MKSH_SMALL
...
848 text 12 data 3 imports
2006-11-10 04:07:59 +00:00
tg
a1ff719ba4
thanks to the nice property of my reimplementation of getn to also
...
return a value in case of an error (0 or the partial result, which
is the full result in case of trailing junk even), using it to rid
atoi() is possible, saving 9t 4d 1i
2006-11-10 04:03:59 +00:00
tg
d91d7feff0
exit not _exit, 50 text 4 data 1 import
2006-11-10 03:54:38 +00:00
tg
ecc08e9681
use chown not fchown, and move the ownership check to earlier
...
saves 45 text, 4 data and security peoples' nerves
2006-11-10 03:50:05 +00:00
tg
d10dd31b9a
correct a few protos and comments
...
saves 4 .text bytes and my nerves
2006-11-10 03:45:57 +00:00
tg
f8e7fdbb71
use qsort(3) instead of rolling our own
...
saves 284 in .text, no added import since we already use qsort(3) once
2006-11-10 03:23:50 +00:00
tg
f103c6b2a0
use errorf not bi_errorf if we want to abort
...
saves 16 .text ;)
2006-11-10 02:10:45 +00:00
tg
658dc2b407
rewrite getn() which is some kind of atoi with return code
...
costs 1 .text, saves 4 .data, 1 libc import
2006-11-10 02:05:06 +00:00
tg
242d2c086d
overhaul parse_args - don't use strlcpy and strlen when overkill
...
also fixes off-by-one
saves 48 .text
2006-11-10 01:52:23 +00:00
tg
c60dbdc6cb
* change EXECSHELL to /bin/sh (we can override it via environment anyway,
...
and this is a sensible choice instead of ourselves)
* move this stuff from sh.h into exec.c where it belongs
* simplify set -o stuff
saves 8 bytes
2006-11-10 01:44:40 +00:00
tg
cd9202835c
cosmetics
2006-11-10 01:25:22 +00:00
tg
f1e29cb1a1
use NELEM
2006-11-10 01:24:38 +00:00
tg
ebf58f6b42
if !MKSH_SMALL, str_save() can be a macro
2006-11-10 01:19:17 +00:00
tg
273ca89019
* check.t: add new regression test "typeset-padding-1" according to TFM
...
* edit.c: remove debug stuff again; next time better use shl.c functions ;)
* sh.h: add format attributes to a few shf functions
* histrap.c, var.c: fix format string mistakes
* main.c, sh.h: error_prefix and warningf take bool not int
* misc.c: make chvt() stuff use shf_* functions
* misc.c: rewrite the TIOCSTTY stuff to be better integrated in mksh,
since it originally was an external patch
* misc.c: chvt() no longer fails if e.g. chown fails due to e.g. R/O / fs
* var.c: fix typeset padding for right-justified zero-filled
2006-11-10 01:13:52 +00:00
tg
c2aec39358
save 176 text (92 text 32 bss relative to before last commit)
...
by making correct use of shf_* functions
2006-11-10 00:09:27 +00:00
tg
320f503391
get rid of ulton() - a joke
...
saves 32 bss, but adds 84 text oO
2006-11-09 23:55:52 +00:00
tg
88bf6422d9
shrink chtypes array down to 8 bit
...
saves 72 text and a lot bss
2006-11-09 23:39:16 +00:00
tg
6334091d86
omit usage msg if small
2006-11-09 23:19:52 +00:00
tg
625928f9f1
make autoconf checks more verbose as well
2006-11-09 23:09:05 +00:00
tg
e49b50f8f1
check for a few more things
2006-11-09 23:04:34 +00:00
tg
7148a691e0
simplify
2006-11-09 22:56:55 +00:00
tg
ee55f29a31
new function ac_testn() does the same as ac_test() but doesn't amend CPPFLAGS
2006-11-09 22:56:09 +00:00