Commit Graph

939 Commits

Author SHA1 Message Date
tg
c54a614574 useful alias for embedded ones, speedup for all 2007-05-25 13:51:42 +00:00
tg
2beb60ebf3 for R30, don't check for confstr() declaration any more
it was #if solaris'd in R28, and the system I have access
on does declare it now (still Solaris 8)

this can be put back if anyone complains, of course.
2007-05-24 23:07:19 +00:00
tg
a3ab909ff6 bump vsn, we had a regression… 2007-05-24 19:50:38 +00:00
tg
15515cfe06 fix Message-ID: <e3fded850705240816s50544d04u5c87edb905f1c123@mail.gmail.com>
(maybe) by only emitting the >*< if we're at EOL
2007-05-24 19:15:46 +00:00
tg
49760de778 fix detection of f̲u̲n̲c̲t̲i̲o̲n̲ prototypes which, in contrast to d̲a̲t̲a̲ prototypes,
don't give an error if they're missing
2007-05-24 09:22:58 +00:00
tg
63623bb479 we don't have -d in mksh R30β any more 2007-05-24 09:06:31 +00:00
tg
8c986282ce optimise 2007-05-22 21:13:56 +00:00
tg
fec876cdcf fix Message-ID: <e3fded850705221323w1442f15cr4375a5590acf8088@mail.gmail.com>
(by dramsey again, you're DA MAN) by replicating some of the x_redraw() logic

Note that this is correct, a construct like the full-fledged
| x_e_putc2((xep > xlp) ? ((xbp > xbuf) ? '*' : '>') : (xbp > xbuf) ? '<' : ' ');
is not needed since if (xep > xlp) && (xbp > xbuf) – i.e. in the '*' case –
x_redraw() will be called anyway and because (xx_cols - 2 - x_col) == 0 the
code won't be triggered.
2007-05-22 21:01:38 +00:00
tg
9b86b32dc8 ah, of course, bump the date 2007-05-22 19:31:01 +00:00
tg
d8b210fd16 dramsey bug #4: regression introduced in 1004651F21443013C37 (fix for bug #3)
cf. Message-ID: <e3fded850705211623n20d2c695ke7b41d75ac439a6c@mail.gmail.com>

this one was harder to track down, additional variables coming into the play…
2007-05-22 19:27:05 +00:00
tg
f5d4e21aa2 • fix the third dramsey scrolling bug for both ^D at BOL and ^W at EOL
(I hope)
• fix another one I found: after ^D'ing, insert at BOL, the > is displayed
  one character too late
2007-05-21 19:25:32 +00:00
tg
5323f6023b unify the move-backwards redrawing bug fixes
cf. Message-ID: <Pine.BSM.4.64L.0705211156060.16459@odem.66h.42h.de>
tested to not slow down _even_ more a 75 MHz sparc (neko.haemoglobin.org)
thanks to dramsey again for testing
2007-05-21 12:24:44 +00:00
tg
252861b156 fix the latest appearance of the dramsey backwards movement bug, cf.
Message-ID: <e3fded850705200935h6ac2c9ebgbc7a9b10ac034a49@mail.gmail.com>
and Message-ID: <Pine.BSM.4.64L.0705201659500.8619@odem.66h.42h.de>
2007-05-20 17:53:13 +00:00
tg
9e44be4713 oops, can't use single quotes inside of singly quoted string, of course… 2007-05-19 16:35:02 +00:00
tg
9e21d616bd • whence -p can take closing fd 2 instead of pointing it to /dev/null
• hostname and id should too, besides it's mostly for the shell error
  message of not finding them anyway…
• shorten
2007-05-19 16:33:10 +00:00
tg
fcd6e4f07a bump version 2007-05-13 19:18:26 +00:00
tg
a84655e3e0 fix Coverity CID #8, #9
it's wrong to use strchr(s, 0) to look for the NUL byte, because in some
environments it apparently might return NULL

use new macro strnul = s+strlen(s) instead (not side-effect safe tho)
2007-05-13 19:14:05 +00:00
tg
655b50a7d1 Fix for Coverity CID#10: out-of-bounds array access 2007-05-13 19:00:30 +00:00
tg
a3e012c69b dead code removal 2007-05-13 18:49:00 +00:00
tg
e392983af7 Possible fix for Coverity CID#7:
convert options() prototype to unsigned (size_t, in fact), and make an
explicitly casted (size_t)-1 the error return code, modelled after what
is often used in Unix libraries
2007-05-13 18:33:29 +00:00
tg
3daaf229ca Fix for Coverity CID #6 (null pointer dereference in error path) 2007-05-13 18:15:25 +00:00
tg
96283ed453 Workaround for Coverity CID#1: the Prevent parser didn't recognise there
were multiple possible values for c inside the code.

Rewrite code in question to use if instead of switch; optimise while here.
2007-05-13 18:07:22 +00:00
tg
0989f7da67 Fix for Coverity CID#2: false bug, but still a problem.
Analysis:
internal_errorf(int, fmt, ...) was only a __dead function if the int argument
was non-0, which the Prevent probably was unable to follow. Change all uses of
internal_errorf(0, fmt, ...) to internal_warningf(fmt, ...); change the pro-
totype of internal_errorf() to internal_errorf(fmt, ...) and all remaining
uses remove the non-0 int argument; add __dead to internal_errorf() proto;
flesh out guts of internal_errorf() and internal_warningf() into a new local
function for optimisation purposes.

Some whitespace cleanup and dead code removal (return after internal_errorf(1))
2007-05-13 17:51:24 +00:00
tg
d2d035355f a certain size optimisation broke the utf8bom-3 regression test if
mksh was configured to have utf-8 mode “always on” (because it's
really only always on for interactive shells); setting it to really
always on would break the other half of this regression test, so
do the optimisation only if MKSH_SMALL
2007-05-10 19:22:11 +00:00
tg
384032b729 fix the “dramsey horizontal scrolling bug” – time for you to find another ☺ 2007-05-10 19:08:48 +00:00
tg
d89613399b const 2007-05-10 18:58:31 +00:00
tg
25bb4815d2 remove a redundant function 2007-05-10 18:46:38 +00:00
tg
5f61b50a90 we only require strcasestr if setlocale() is used at the moment 2007-05-02 20:02:07 +00:00
tg
9e708d91b8 mksh R30 will no longer build a statically linked shell by default;
does not try, nor provide any means; user has to use LDFLAGS instead.
2007-04-30 19:50:09 +00:00
tg
8ca51f5ff3 retain Build.sh path for test.sh (e.g. if /bin/ed != /usr/xpg4/bin/ed – on
Solaris some tools are weird, I recommend to prefix /usr/xpg4/bin to $PATH
even for dot.mkshrc because /usr/bin/id sucks, /usr/xpg4/bin/id works…)
2007-04-30 19:18:37 +00:00
tg
c9991d996f • change version number to “R29 and up” so
that I don't have to bump it every time…
• amend description of emacs-mode “redraw”
2007-04-30 19:16:30 +00:00
tg
8d1ede2697 do not “-fwhole-program --combine” since it at least breaks FORTIFY_SOURCE
on SuSE and causes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=408850
so I'll assume it's a gcc bug

thanks to Pascal “loki” Bleser (yaloki), darix, Martin Zobel-Helas, Steve
Langasek (vorlon) for tracking this bug down in two different instances
2007-04-30 19:12:18 +00:00
tg
c0e5c09351 optimisation: #ifdef MKSH_ASSUME_UTF8, don't bother to “Flag(FUTFHACK) = 1;” on UTF-8 BOM encounter, it's always on (unless manually set to off) – saves a few bytes, I guess 2007-04-26 11:58:53 +00:00
tg
7a775ab0cf some wording and #if 0 cleanup 2007-04-24 10:44:58 +00:00
tg
1a0b51b697 • arc4random, arc4random_push: use our own protos to check
XXX u_int32_t is not ISO C99, but seems to work well enough
  XXX if it fails anywhere, we'll see in the build logs
  XXX apple doesn't have the standard uint32_t and API doesn't specify it
• sys_siglist_defn: rename to sys_siglist_decl as we're really checking
  for the declaration in the headers; change wording to “check if … does
  not need to be declared” since we don't need to declare if we don't use
• scan for arc4random, arc4random_push, confstr declarations too
• sh.h: confstr declaration is no longer #ifdef __sun__; sort
2007-04-24 10:42:02 +00:00
tg
2cf5695f69 • mention HP-UX, AIX success
• mention Darwin failure in R29c, fix in -current
• also clean up core dump file
• on HP-UX 11i v2, <stdint.h> requires <stdarg.h> because it pulls in
  a <wchar.h> generated from gcc's fixincludes… dunno, but it works…
• HP-UX 11i v2 on ia64 only works with -mlp64; the default seems to be
  -milp32 which generates SIGBUS due to misalignment (due to optimisation?)

-> in theory, HP-UX works on both PA-RISC and IA64 in R29c
-> R29c doesn't contain support for AIX or Mac OSX though…
2007-04-23 22:33:20 +00:00
tg
e35eed3687 mksh R29c was indeed broken on HFS+ filesystems thanks to Darwin/Mac OSX
brain-deadness
2007-04-23 21:46:12 +00:00
tg
c3d8ca7f82 fix multi-rcsid test broken in 100462D18E37B6B8D16 2007-04-23 21:36:02 +00:00
tg
eb6e4d4bbb fix case matching 2007-04-23 21:31:58 +00:00
tg
03488df380 clean up used files better 2007-04-23 21:15:44 +00:00
tg
c4826b28b8 possibly fix the last issue on AIX: NSIG is (63 +1) 2007-04-23 20:57:50 +00:00
tg
615a7794a6 AIX has sys_siglist[] but doesn't define it anywhere, so add a means to
scan for defns and use it here; bug reported by Kurt Telep
2007-04-23 20:37:16 +00:00
tg
24f650213a according to Kurt Telep, AIX _does_ require -lcrypt, and, when using
it, apps are expected to export certain symbols; thanks for the help
2007-04-23 20:17:58 +00:00
tg
d38897a75d when we're starting to talk sensible default values, begin here:
if $LIBS is empty (i.e. not " " or so), use "-lcrypt" on Interix

AIX seems to require some too…
2007-04-23 14:06:47 +00:00
tg
a823a03370 part of the AIX clean-up
with help of <Gurft> on freenode (Kurt)
2007-04-23 14:04:38 +00:00
tg
ec4dea6cfa $ uname -a; (gcc -v) 2>&1 | tail -1; echo $KSH_VERSION
HP-UX td192 B.11.11 U 9000/800 1839940656 unlimited-user license
gcc version 3.4.2
@(#)MIRBSD KSH R29 2007/04/17

it apparently works, but there's no POSIX.pm, and the backspace
key acts as abort key (probably all things that can be fixed)
2007-04-23 12:13:03 +00:00
tg
fe04b78310 oops, this of course documents mksh R29c (and up) 2007-04-23 11:41:47 +00:00
tg
4c9511e7a4 • strlcpy.c: remove superfluous rcs ids in comments
• Build.sh: NetBSD® gives an ignorable link-time warning in mirtoconf
• Build.sh: GNU (HURD) and GNU/kFreeBSD are no longer experimental, I think
2007-04-23 11:33:26 +00:00
tg
f60ee4f2be if internal error, tell what failed 2007-04-19 12:07:46 +00:00
tg
0dba495c4b • MKSH_SMALL users want to trade off size vs functionality,
they thusly don't deserve shebang processing
• fix a comment (spelling; technical correctness)
2007-04-18 00:59:20 +00:00