Commit Graph

57 Commits

Author SHA1 Message Date
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
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
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
208c45da25 more cleanup; incidentally, replacing libc function with syscall maybe speedup
9t 4d 1i
2006-11-10 04:22:13 +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
5ee451f98c restrict RANDOM to a positive 31-bit integer number, for use with modulo op 2006-08-18 18:48:26 +00:00
tg
b131ca909d as long as we're using arc4random(3) to generate $RANDOM,
let it be an uint32_t, like nbsh(1)
2006-08-18 13:40:16 +00:00
tg
64598758fb * TNF needs more to silence char subscript warnings (on 3.0-stable)
* bump vsn
2006-07-11 14:51:01 +00:00
tg
bc93d1c90d fix the "char subscripts" issue, bump version 2006-07-03 12:16:31 +00:00
tg
ab231f3595 new conditional: HAVE_ARC4RANDOM_PUSH 2006-06-21 19:35:38 +00:00
tg
14a65d55e6 pull in last OpenBSD diff - I must admit I neither fully understand
the diff nor the commit message, but they're probably knowing what
they're doing

on an unrelated side note, mksh-beta.cpio.gz didn't get tested by
many people... so mksh R27 will be released without much more...

Set the index of item[0], since it might not have been set before
(A=0; A[1]=1) and do not use a static buffer in str_val, since the
results might be used in a loop. Report from jared r r spiegel; help
from Matthias Kilian; ok beck@
2006-05-26 22:17:21 +00:00
tg
7672b9b346 apply some fixes from OpenBSD and don't apply some others
but sync RCS IDs for easier future adaption:
* Simplify savefd() by removing the "noclose" flag and make noclose
  behavior the default. Almost all uses of savefd() are followed
  by an implicit or explicit close.
* fix typos
* might as well make ksh_getopt() match real getopt(), ie. get rid of that
  stupid EOF concept that was never true. adobriyan@gmail
* use SEEK_* for lseek()
* fix lint comments, no functional changes
* remove excessive optimization; from adobriyan@gmail
* only santa checks things twice; from adobriyan@gmail
* Interpret zero-filled numbers as decimal; PR 4213; from Alexey Dobriyan
2006-05-10 18:54:13 +00:00
tg
3f2912d717 * update to mksh R26c
* there is no comma in front of "which" in English, I was taught
2006-01-30 12:37:24 +00:00
tg
e7f1c2c8c1 forgot one use_rand, found on Solaris 2006-01-29 20:16:51 +00:00
tg
a09f40cacd optimise the non-arc4random case while not touching the default case 2006-01-29 20:10:16 +00:00
tg
94ee3b388a sync with OpenBSD: remove unused code and vars; name clash with libc
compiles under MirBSD
2006-01-29 20:04:54 +00:00
tg
95cfad6339 * only have one $MirOS RCS ID per file to shrink source size
(this is an exception from normal use)
* bump to R26
2005-11-22 18:40:44 +00:00
tg
987bfa3b22 not all MirOS BSD revisions have had arc4random_push()
for example, good old #7-stable on my sparc
2005-10-29 07:55:51 +00:00
tg
9b97d72d5e * move _all_ #include stuff into sh.h
* sort out #include stuff which isn't necessary on MirOS into compat.h
2005-10-25 19:53:29 +00:00
tg
4e37f85975 Tell user which value of index is out of bounds. ok deraadt@
From otto@obsd
2005-10-21 11:55:23 +00:00
tg
76c700b3a6 get rid of $PGRP
get rid of special bourne-shell emulating mode
2005-07-04 12:34:24 +00:00
tg
3fb44287d4 mksh now does not look at $EDITOR and $VISUAL any more to determine
the editing mode; default is emacs (vi and gmacs off).
mksh also defaults to emacs-usemeta=OFF now.
2005-07-04 12:07:41 +00:00
tg
0bac97e6f9 another conditional missed, only affects MirOS 2005-05-28 21:11:35 +00:00
tg
dc22f4da3a * fix logic for srand() I got reversed
* introduce HAVE_ARC4RANDOM tristate (0/1/undef) and fill it appropriately
* NetBSD(R) joins the list of OSes which don't have arc4random
2005-05-26 23:01:30 +00:00
tg
d7c3f0a066 make setuid/setgid scripts and access() work again
by reverting some OpenBSD and applying some Debian diff
2005-05-25 13:46:02 +00:00
tg
37d3bd813d no persistent history (flock missing), no arc4random, etc. for Solaris 2005-05-23 15:36:56 +00:00
tg
820f4b1de1 always use rand(3) on platforms without arc4random(3) and seed it 2005-05-23 14:22:03 +00:00
tg
cd7b8bd79b Add mirbsdksh R21, which was developed in a temporary external CVS repo-
sitory whose ChangeLog follows. mksh R21 is licenced under the MirOS li-
cence, shown in "sh.h", and a two-clause UCB-style licence by Marc Espie
as shown in "alloc.c".

This executable is a fair bit smaller and shorter than our /bin/ksh that
it is designed to eventually replace (as /bin/sh hardlink), with the old
/bin/ksh to completely vanish. It is still in beta testing though, and I
don't think it will compile on other operating systems.

mksh R21 is a completely new port, bringing together the OpenBSD-current
/bin/ksh, the MirOS-current /bin/ksh and the older mksh R20 (which still
was portable, ocvs-based).
2005-05-23 03:06:10 +00:00
tg
d8d708aa45 * un-hook bin/ksh, usr.bin/xmlwf and lib/libexpat from the build
- expat as discussed with bsiegert@ today on the phone
  - ksh as announced earlier on the lists
* un-hook lib/libexpat from make includes
* remove /usr/include/{,open}ssl upgrade workaround from includes/Makefile
* nuke old bin/ksh
* nuke libexpat and xmlwf
2005-10-21 11:33:15 +00:00
tg
a90702a5a1 Initial revision 2005-03-06 15:42:55 +00:00
tg
4075a35b8e experimental getpgrp(2) support for mksh 2005-01-18 17:12:22 +00:00
tg
130367d617 further cleanup 2004-12-31 19:37:03 +00:00
tg
c9f0e4483f kill a local include file 2004-12-31 19:15:39 +00:00
tg
0114af375d Use stdbool.h instead of rolling our own bools.
From: Todd C. Miller <millert@cvs.openbsd.org>

XXX #ifndef HAVE_STDBOOL_H ?
2004-12-28 22:32:09 +00:00
tg
d5ff21ea1d (anything *)0 -> NULL 2004-12-18 19:22:30 +00:00
tg
cbeac44097 * unifdef EDIT, VI, EMACS, HISTORY
* optimise away 0 ||
no binary changes
2004-12-18 19:17:10 +00:00
tg
4c4a9323f8 unifdef: KSH
no binary change
2004-12-18 18:58:32 +00:00
tg
6d8b225141 make array_index_calc static and don't limit
array indices (well, to 2^31-1, but that's
for integer reasons only)
2004-12-18 18:39:10 +00:00
tg
97d9512149 bump to mksh R19 2004-12-10 18:12:32 +00:00
tg
7920708324 Initial revision 2004-12-10 18:12:29 +00:00
tg
ff8192c9b9 remove mail check functionality (everybody SANE uses uw, imaps and mbx now)
update notes
fix Build.sh
2004-11-10 17:13:11 +00:00
tg
b2de14e57c run GNU protoize
protect header files
nuke some dead code
regenerate configure script
let silly code die
2004-10-28 11:53:44 +00:00
tg
75e25d6e50 de-register, de-inline, de-__P 2004-10-28 11:11:19 +00:00
tg
7ad780aa98 -Wall -Werror -W -pedantic clean 2004-10-28 11:03:24 +00:00
tg
ecdd4d5568 unify spacing of RCS IDs 2004-09-21 11:57:17 +00:00
tg
6c8eabf72e polish, mop up whitespace, etc.
passes regressions on MirOS
2004-05-24 19:56:25 +00:00
tg
712a3cc064 overhaul the random stuff ;-) 2004-05-24 19:06:55 +00:00
tg
b051c6e857 * merge OpenBSD 3.5-current
* retain local changes to ls and md5 (md4, hint hint)
* fix up ksh (limits - we still have 4096 bytes input buffer;
  random usage)
* fix manpages (mdX, ksh)
2004-05-23 12:47:01 +00:00