Commit Graph

2514 Commits

Author SHA1 Message Date
dsl c58b829dda Set the 'not a parameter' flag when we skip initial whitespace.
Otherwise:
    ./sh -c 'x=" "; for a in $x; do echo a${a}a; done'
is processed as a single empty parameter (instead of no parameters).
Should fix the breakage I introdiced in rev 1.75 and PR/34256 and PR/34254
2006-08-22 18:11:42 +00:00
christos 06cdcd1106 PR/34255: dieter roelants: Remove mention of -p f. 2006-08-22 17:42:19 +00:00
christos a6fdd24769 - detect buffer overflow.
- if we have a trailing slash, don't add another one.
2006-08-21 23:09:50 +00:00
dsl 413b7762c2 Rework the code changes from revisions 1.69, 1.70 and 1.74 so that the code
behaves correctly.
As far as I can tell, "x$@y" now expands correctly, as does IFS=:; set -$IFS.
Fixes PR/33472 (again) and PR/33956
2006-08-21 21:30:14 +00:00
christos eae5877e02 from zafer: you can have either -k or -h but not both since it does not make
sense.
2006-08-21 19:08:47 +00:00
christos b65b7f50b1 -h and -[mgk] are mutually exclusive. Only use the last specified. [from zafer]
Use one variable instead of 3 flags to hold the scale, so that we don't have
to reset each flag.
2006-08-21 19:05:14 +00:00
christos e6c35f2090 2 fixes from Elad:
1. fix the symlink issue mentioned in:
   http://marc.theaimsgroup.com/?l=openbsd-tech&m=115513754417683&w=2
2. handle socket(2) versioning.
2006-08-21 01:35:11 +00:00
jnemeth a0cb2a839d don't include program name when calling err() 2006-08-17 10:03:53 +00:00
jschauma d59f01f8fb initialize dne variable in the beginning, then move the resetting of
this variable down into the second (ie post-order) pass to make cp
pass all regression tests again.
2006-08-15 23:03:51 +00:00
tron af4d285682 Avoid errors like "cp: /foo/bar/directory" exists if cp(1) is used to
copy multiple directories and the first one doesn't exist in the
target directiry but another one (e.g. the second) does.
2006-08-15 13:06:02 +00:00
tls 1775a62964 Fix sentence fragment that somehow got into the long comment about rm -P. 2006-08-14 20:38:13 +00:00
christos 8c4dec8fa5 don't call get/set progname when we are a shell built-in. 2006-08-04 19:07:55 +00:00
christos c338573fdf use getprogname() instead of argv[0], because some programs that execv, pass
the full path in argv[0] instead of just the basename. In reality, those
programs should be fixed (hello gdb for example).
2006-08-04 14:38:58 +00:00
christos 8a487b533d PR/34055: Kevin Massey: Date uses a fixed 1K buffer for strftime
but does not check when strftime fails because the buffer is too small.
Our implementation of strftime does not NUL terminat the buffer
on failure (it does not have to; the results are undefined), so
garbage gets printed. Use a dynamically allocated buffer instead.
2006-07-23 20:39:10 +00:00
jschauma 471c8a8e68 return functionality backed out yesterday after fixing the bug I had
introduced before.  A regression test will be added to src/regress
shortly.
2006-07-16 16:22:24 +00:00
jschauma d8c803bc48 The last commit introduced a bug. Revert until that's found and fixed. 2006-07-15 20:42:55 +00:00
jschauma 2b5fd7fd97 As suggested on tech-userlevel:
"-R" claims:
 -R	[...] Created directories have the same mode as the corre-
	sponding source directory, unmodified
	by the process' umask.

Make this actually true.

In addition, make '-P' (no symbolic links are followed) apply even if
'-R' is not specified.  This allows users to overwrite symbolic links
with files and/or to copy symbolic links over a file without indirecting
through the link (ie a copy of a link turns the target into a link, not
a copy of the file pointed to by the source).
2006-07-15 02:09:47 +00:00
mrg 334f3f5949 apply a little -O0 with GCC4 and vax... 2006-07-01 05:54:35 +00:00
christos 67a8ed80ce PR/33834: Bucky Katz: Crossbuild on FC5:sort doesn't handle '+' field
specifications
2006-06-27 12:27:27 +00:00
christos a8b3562160 PR/33775: YAMAMOTO Takashi: /bin/sh doesn't accept "(" before case patterns 2006-06-20 15:57:44 +00:00
ginsbach 84b3179a34 Adapt date(1), the netsettime function, to new return value from socket(2)
when the address family is unsupported.
2006-06-14 16:35:16 +00:00
christos 460f8d8a0c PR/33699: Kevin Massey: use strlcpy to prevent stack overflows. 2006-06-11 16:15:20 +00:00
dsl 0e765f005a When expanding "$@" add a \0 byte after the last argument (as well as all
the earlier ones) so that a separator is added before it when it is empty.
This wasn't needed before a recent change that chenged the behaviour of
trailing whitespace IFS characters.
Fixed PR/33472
2006-05-20 13:57:27 +00:00
christos 62faec262e Don't free random memory; thanks gcc-4. 2006-05-14 01:09:03 +00:00
christos a7679aa75e Fix two uninitialized variables with XXX: GCC. 2006-05-14 01:05:42 +00:00
christos c5d3cabfdd Coverity CID 3365: Fix inverted logic! 2006-05-13 21:58:51 +00:00
christos f88f667da4 Coverity CID 3367, 3368: Avoid NULL deref. 2006-05-13 21:54:13 +00:00
christos 4f633ea02a Coverity CID 3368: Fix memory leak. 2006-05-13 21:48:00 +00:00
christos 16464dcda5 Coverity CID 3369: Fix memory leak. 2006-05-13 21:42:45 +00:00
christos 2701e5b9be Coverity CID 3330: Initialize uninitialized variable. 2006-05-13 21:22:32 +00:00
christos 78b76e5792 Coverity CID 3331: Remove impossible test. 2006-05-13 21:18:57 +00:00
christos e80f354dab Coverity CID 3384: Don't close -1. 2006-05-13 19:47:22 +00:00
mrg aadd7d4847 sprinkle some -fno-strict-aliasing and -Wno-pointer-sign with GCC4. 2006-05-11 23:16:28 +00:00
mrg 084c052803 quell GCC 4.1 uninitialised variable warnings.
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
mrg 4d375f236f rename exp2() to csh_exp2(). (bah, we don't even have an exp2()) 2006-05-10 21:14:48 +00:00
simonb 15dc85722d Make the change for bin/31548 to set $PWD on shell startup non-fatal if
the current directory doesn't exist.
2006-05-04 11:16:53 +00:00
christos ec2162bd79 Avoid double free. 2006-04-27 13:25:21 +00:00
christos 6ce96df0b7 Coverity CID 2993: Fix memory leak. 2006-04-24 20:00:31 +00:00
christos 8a8f572953 Coverity CID 2994: Don't leak memory in the perm case. 2006-04-24 19:58:20 +00:00
christos f2ec0dc9a2 Coverity CID 2995: Fix memory leak. 2006-04-24 19:53:08 +00:00
snj a640fe8c43 It's "its." 2006-04-24 19:00:29 +00:00
snj bf5ceaae16 It's "its." 2006-04-24 18:00:53 +00:00
christos da09d1a838 PR/33281: Martin J. Laubach: Prevent core-dump on "echo abc | { }". bash
prints and error and ksh prints nothing. We go the ksh way.
2006-04-18 14:44:05 +00:00
christos c5d25686e0 PR/22995: Sergey Svishchev: If we are cd'ing around and we have directories
with relative paths, convert the directories to absolute paths, so that
restoring timestamps does not fail.
2006-04-16 16:20:21 +00:00
provos 9244f58a4e translate sendmsg so that tools like nslookup will show remote addresses;
i waited for three years and nobody did this; had to do it myself :-(
2006-04-16 05:19:02 +00:00
provos fed8136a4e add new system calls (__lstat30 and __stat30) that should have been added
for argument translation in Systrace
2006-04-15 20:35:24 +00:00
christos 6236eeb27a Don't free str; it is used in pat_add. Noted by: Kouichirou Hiratsuka 2006-04-14 16:57:01 +00:00
wiz 3598f93379 Fix date (no leading zero), fix xref: sticky(7) not (8). 2006-04-08 22:39:39 +00:00
jschauma b338995776 Address PR 30374 as suggested in there:
"Modify the man page to match the behaviour of "ls -q",

(done by yamt@ previously)

...
modify both the behaviour and documentation for "ls -b" and "ls -B" to
make spaces readily apparent.  This could be done by adding VIS_WHITE
to the flags passed to strvis(3) in the safe_print() function in
src/bin/ls/util.c."

'ls -b' now yields foo\sbar (whitespace) foo\tbar (tab) foo\rbar (CR).
'ls -B' now yields foo\040bar foo\011bar foo\015bar.
2006-04-08 22:28:06 +00:00
yamt 3dc055fb76 s/non-graphic/non-printable/ to match with the code. 2006-04-08 12:04:22 +00:00