Commit Graph

1303 Commits

Author SHA1 Message Date
tg
0b4f34e0a8 • syn.c: replace expanded use of str_save() with the actual macro
• others: fix 6 (!) cases of non-constant or side-effect arguments
  to the str_save() or str_nsave() macros, and other abuse of them
• also fix some cosmetics and other un-nice code while here
2008-07-12 16:56:40 +00:00
tg
9eae0851ef • sync RCSID with oksh, Miod fixed a bug which fell out during my size
optimisation whack earlier in mksh
• optimise a little more for the (s == NULL) case while here
  (more to follow…)
2008-07-12 16:26:58 +00:00
tg
1619fa2538 • Build.sh, check.t: bring back the 'smksh' check category, which was
missing for a while yet its disappearance was unnoticed because…
• distrib/special/mksh/Makefile: sync check categories, this was missed
• mksh.hts: sync clog
2008-07-11 19:51:23 +00:00
tg
a36a925ea6 IRIX also does not have any UTF-8 locale at all
confirmed by Elias Pipping, 10x
2008-07-11 18:31:10 +00:00
tg
81a2b6d878 cygwin has... interesting fs semantics (I got an unaccessible yet
undeletable file on running this manually, which vanished after the
parent(!) process exited), so disable this test for it
2008-07-11 00:23:59 +00:00
tg
99ccfb4024 bump versions (since we lowered the fd limit again) 2008-07-10 21:55:08 +00:00
tg
552d3408e7 oops, only half commit 2008-07-10 21:25:00 +00:00
tg
c01bda573f switch back to en_US.UTF-8 for GNU/* too: Mandriva has issues with
en_US.utf8, and Debian (tested on gnubber) can do both
2008-07-10 21:20:22 +00:00
tg
93fcb5a892 on Solaris, this testcase won't produce the issue, but let's pass the test☺ 2008-07-10 20:05:01 +00:00
tg
7c7ecc33be • remove bizarre test constraint
• make a test succeed on Tru64, whose cat likes to output
  │Successful
  │cat: output error
  on this test case
2008-07-10 19:06:15 +00:00
tg
7c239cd369 no UTF-8 locales on OSF/1 V5.1B, either 2008-07-10 18:55:43 +00:00
tg
7530a147e6 let’s find sizer on OSF/1 if it’s not in the PATH 2008-07-10 18:49:22 +00:00
tg
0b4e9918ba limit fd usage – at least ULTRIX doesn’t cope 2008-07-10 18:48:02 +00:00
tg
0d20372dbb remove a line which accidentally got committed, oops 2008-07-10 18:34:08 +00:00
tg
ca7cd043db • bump NUFILE and FDBASE, allowing for more than 10 fds used by scripts
• change the code to accept more than a single digit for an fd
2008-07-09 21:32:45 +00:00
tg
943446cadf … one more regression test we pass…
• hd <<< bar
  → like bash, ksh93, zsh
• hd <<< #bar
  → like zsh (bash, ksh93: syntax error)
• hd <<<
  → like hd <<< '' (bash, ksh93, zsh: syntax error)
2008-07-09 20:41:23 +00:00
tg
f4790e8773 add another corner case of here documents, which bash and zsh pass
inspired by:
20:14⎜«twkm:#ksh» $ unset foo ; read -u10 foo 10<<< bar ; echo $foo
which works in ksh93 (whose fd>9-support is still incomplete though)
2008-07-09 20:31:19 +00:00
tg
8f7d2292a8 Debian GNU/kFreeBSD $^O value, 10x tarzeau 2008-07-08 22:29:00 +00:00
tg
08624e7e49 sync with openbsd: only the RCS IDs, because the changed code in
question either does not exist in mksh (lex.c) or refers to the
only “feature” we do not pull, GNU bash-like $PS1 (main.c)
2008-07-08 22:28:26 +00:00
tg
b8980a59c1 gcc -v also accepts a file argument, and 'diet gcc -v' croaks, so… 2008-07-08 21:14:42 +00:00
tg
1f0e071c6d dump the perl $^O string in the logs… all Debian GNU/kFreeBSD developers
I can ping right now “need to refresh their keys on io/asdfasdf” or have
their machines unreachable… and I lost my VM to fsck recently (remember)
2008-07-08 21:05:01 +00:00
tg
064ae65dee reverse the sense of check for en_US.UTF-8 vs en_US.utf8:
the latter is required by HP-sUX, okay, and apparently the
preferred one by glibc (GNU libdrepper?), but breaks on al-
most all other systems I have access to (Slowlaris, Midnight
DragonFly NetBSD, Darwin, at least)
2008-07-08 20:54:33 +00:00
tg
3800eed855 NetBSD® 3.0_STABLE is a tad picky about the UTF-8 locale’s naming… 2008-07-08 20:08:02 +00:00
tg
a1aff7e194 libc strlfun.c:
• fix file description, history, etc.
• require <stddef.h> for portable size_t declaration (if ! kernel, bootloader)
• mention why we do _not_ include <string.h> (for building on obsd/mbsd)
• sync RCSID definition with that of mksh (more portable)
• fix strlcat description
• sync strlcpy obsd rcsid and licence header with obsd-current
  (their code change 1.10→1.11 was something we already did)
• use “does not”, not “doesn’t”
• make it easier to produce wcslfun.c

libc wcslfun.c:
• sync with strlfun.c (much easier now)

mksh strlcpy.c:
• sync with strlfun.c (in comments, mostly)

no binary changes
2008-07-07 12:59:54 +00:00
tg
077dbf2dd4 fix HP aCC compiler version identification 2008-07-06 23:19:31 +00:00
tg
d415592b37 check return value of unlink(2) when trying to remove an existing HISTFILE,
since mksh(1) did go into an infinite loop if that fails first

bug spotted, initial patch and help drafting a test case
From: Decklin Foster <decklin@red-bean.com>

note there are more instances of unlink(2) and others (like chmod(2), as
spotted by flawfinder) which aren’t checked… but at least the other case
of unlink(2) use in histrap.c doesn’t cause any trouble (I think)
2008-07-06 22:41:09 +00:00
tg
667f309387 support arc4random.c in build but not src dir, too 2008-06-29 19:46:56 +00:00
tg
941d228f99 some basic LLVM+clang (with “ccc” driver example) support 2008-06-29 18:18:56 +00:00
tg
d20bb52049 remove llvm-clang artefacts in more places 2008-06-29 18:08:55 +00:00
tg
edb83bf872 remove a.out.s and a.out.bc (llvm-clang fallout) too 2008-06-28 23:00:43 +00:00
tg
c77d67ef4d • add code to support GNU bash’s “&> file” I/O redirection extension,
and make it fit into mksh’s model (also gives us a couple of things
  GNU bash doesn’t have
• add regression tests for all of these

Lukas “smultron” Upton from MidnightBSD spotted a script with /bin/sh
shebang invalidly using “&>” in some Apple backup toolkit, 10x

XXX why fds are limited to one digit?
2008-06-28 22:51:56 +00:00
tg
fcb931ae2e more safe idiom 2008-06-28 22:01:44 +00:00
tg
1863471854 improve Mac OSX version reporting 2008-06-22 20:51:31 +00:00
tg
9fabfb278f SUNw,cc is one of the compilers whose version reporting works better when
compiling a demo programme at the same time
2008-06-21 19:38:41 +00:00
tg
a89db7b95b Darwin also has other locale 2008-06-21 19:30:49 +00:00
tg
5d73013c02 remove check_category “pdksh”, it starts to make trouble and was never
taken seriously anyway, just historic ballast
2008-06-21 19:20:15 +00:00
tg
419600db62 fix the RCS IDs 2008-06-08 17:16:25 +00:00
tg
18bbd23397 • more usage fixes, inspired by sobrado
• bump mksh patchlevel
2008-06-08 17:15:30 +00:00
tg
399157adcc cast two pointer arithmetics to ptrdiff_t
commit inspired by fgsch:
> Log message:
> cast pointer arithmetic to unsigned so we can behave correctly on
> underflows. fixes fc -l 1 in my box where line is 1667511151.
> krw@ ok.

  to signed rather. oops.
2008-06-08 17:14:31 +00:00
tg
e91eab65a8 sort argument list, inspired by commit from Igor Sobrado 2008-06-08 16:57:52 +00:00
tg
e0e0876e7e fix regression test: Solaris has $^O solaris not sunos, and locales of
the style xx.UTF-8 not xx.utf8, so just split the test into two
2008-06-02 20:44:07 +00:00
tg
f7d5a16363 What is valid for Build.sh should be valid for test.sh too.
In this case: reset the locale to “C” at start.
Otherwise, perl/OpenBSD fails in an UTF-8 environment, just
because OpenBSD 4.3/zaurus still has no locales in 2008.
2008-05-20 18:47:06 +00:00
tg
6eea28c1f3 I’m sorta shocked… 2008-05-17 20:10:52 +00:00
tg
72f9cf1c9b optimise based upon the following assumption:
• my_pid = getpid(); setpgid(0, my_pid);
• if it hasn’t failed, the following is true: getpgrp() == my_pid

at least this is what I gather from TFM and the kernel source
waldi _thinks_ so, too
2008-05-17 19:03:25 +00:00
tg
f17b8b1c8b • alloc() can’t fail, afree() can take NULL
‣ macro afreechk() is superfluous
• get rid of macro afreechv() by re-doing the “don’t leak that much” code
• some KNF (mostly, whitespace and 80c) while here
2008-05-17 18:47:03 +00:00
tg
b41a72ac2e add new builtin “realpath” calling realpath(3) on its argument, skipping
over “--” for compatibility to Debian realpath(1) and possibly busybox’

“sounds handy” replaced@TNF
2008-05-17 18:27:57 +00:00
tg
b40ba2c8d1 beauty error: clear LDFLAGS and LIBS while using -c 2008-05-17 18:19:11 +00:00
tg
4e4ede2442 fix for $HOME with trailing slash (do not expand then either… we could just
strip it, but that might have other problems, better is to use realpath(2),
e.g. via readlink(1), for normalisation, or have the sysop fix it)

XXX make realpath a builtin?
2008-05-16 22:22:11 +00:00
tg
8cf7c94908 if $HOME is / or empty, bash-style tilde replacement yielded funny results 2008-05-16 22:19:11 +00:00
tg
6be5205b36 mksh:
* initialise the integers PPID, OPTIND, RANDOM, SECONDS, and TMOUT to base-10
* bring back PGRP as base-10 integer to the process group via getpgrp(2)
* initialise USER_ID as base-10 integer to the effective user id as retrieved
  from geteuid(2) = $(id -u)
* use $USER_ID in dot.mkshrc instead of spawning an id(1) process
  -> dot.mkshrc,v 1.34 now requires mksh R34
* convert more int to bool where appropriate
* remove dead code - getpgrp(2) cannot fail
* sync manual page to reality
* bump to mksh R34(beta) - feature freeze

XXX check if our_pgrp in jobs.c is still really needed, the setpgid call
XXX probably just makes us our own pgrp leader, and we might have to use
XXX and update kshpgrp accordingly - need feedback/help here but I think
XXX this simplification should be possible if I grok the code correctly.

etc/profile:
* adjust to $USER_ID changes in mksh (speed-up here, too)

mksh.hts:
* sync changelog
2008-05-15 15:24:11 +00:00