#
07c06699 |
| 11-Dec-2022 |
kre <kre@NetBSD.org> |
It appears that POSIX intends to add a -d X option to the read command in its next version, so it can be used as -d '' (to specify a \0 end character for the record read, rather than the default \n)
It appears that POSIX intends to add a -d X option to the read command in its next version, so it can be used as -d '' (to specify a \0 end character for the record read, rather than the default \n) to accompany find -print0 and xargs -0 options (also likely to be added).
Add support for -d now. While here fix a bug where escaped nul chars (\ \0) in non-raw mode were not being dropped, as they are when not escaped (if not dropped, they're still not used in any useful way, they just ended the value at that point).
show more ...
|
#
f645e702 |
| 19-Aug-2022 |
kre <kre@NetBSD.org> |
Don't output the error for bad usage (no var name given) after already writing the prompt (set with the -p option).
That results in nonsense like:
$ read -p foo fooread: arg count
While here, im
Don't output the error for bad usage (no var name given) after already writing the prompt (set with the -p option).
That results in nonsense like:
$ read -p foo fooread: arg count
While here, improve the error message so it means something.
Now we will get:
$ read -p foo read: variable name required Usage: read [-r] [-p prompt] var...
[Detected by code reading while doing the work for the previous fix]
show more ...
|
#
b422b2b8 |
| 19-Aug-2022 |
kre <kre@NetBSD.org> |
PR bin/56972 Fix escape ('\') handling in sh read builtin.
In 1.35 (March 2005) (the big read fixup), most escape handling and IFS processing in the read builtin was corrected. However 2 cases wer
PR bin/56972 Fix escape ('\') handling in sh read builtin.
In 1.35 (March 2005) (the big read fixup), most escape handling and IFS processing in the read builtin was corrected. However 2 cases were missed, one is a word (something to be assigned to any variable but the last) in which every character is escaped (the code was relying on a non-escaped char to set the "in a word" status), and second trailing IFS whitespace at the end of the line was being deleted, even if the chars had been escaped (the escape chars are no longer present).
See the PR for more details (including the case that detected the problem).
After fixing this, I looked at the FreeBSD code (normally might do it before, but these fixes were trivial) to check their implementation. Their code does similar things to ours now does, but in a completely different way, their read builtin is more complex than ours needs to be (they handle more options). For anyone tempted to simply incorporate their code, note that it relies upon infrastructure changes elsewhere in the shell, so would not be a simple cut and drop in exercise.
This needs pullups to -3 -4 -5 -6 -7 -8 and -9 (fortunately this is happening before -10 is branched, so will never be broken this way there).
show more ...
|
#
030a5ba8 |
| 16-Apr-2022 |
kre <kre@NetBSD.org> |
Redo the way the builtin cmd 'ulimit' getopt() (nextopt() really, but it is essentially the same) arg string is generated, to lessen the chances that the table of limits, and the arg string that allo
Redo the way the builtin cmd 'ulimit' getopt() (nextopt() really, but it is essentially the same) arg string is generated, to lessen the chances that the table of limits, and the arg string that allows limits to be reported or set will get out of sync. They weren't (as long as we didn't grow an RLIMIT_SWAP) this is just tidier.
While here, reorder the limits table fields, and shrink a couple that were needlessly wasteful, to save some space -- for most architectures this should save 8 bytes per table entry (there are currently 13). (Some minor code bloat offsets this slightly because of int type promotions now required).
NFCI.
show more ...
|
#
078eea82 |
| 16-Apr-2022 |
kre <kre@NetBSD.org> |
While doing the previous change, I noticed that when used in a particularly perverse way, the error message for a bad octal constant as the new umask value could incorrectly claim that the -S option
While doing the previous change, I noticed that when used in a particularly perverse way, the error message for a bad octal constant as the new umask value could incorrectly claim that the -S option (which would need to be present to cause this issue) was the detected bad value. Fix that to report the actual incorrect arg.
And while fiddling, also check for args to umask that are too big to be sane mask values (the biggest permitted is 07777) and use mode_t as the mask variable type, rather than int.
show more ...
|
#
b0923ea0 |
| 16-Apr-2022 |
kre <kre@NetBSD.org> |
Avoid generating error messages implying that user errors are illegal.
|
#
d9e475d8 |
| 12-Dec-2021 |
andvar <andvar@NetBSD.org> |
s/Miscelaneous/Miscellaneous/ and s/slahes/slashes/ in comments.
|
#
03d7507f |
| 16-Nov-2021 |
kre <kre@NetBSD.org> |
Detect write errors to stdout, and exit(1) from some built-in commands which (primarily) are used just to generate output (or with a particular option combination do so).
|
#
a0cb7535 |
| 15-Sep-2021 |
kre <kre@NetBSD.org> |
Have the ulimit command watch for ulimit -n (alter number of available fds) and keep the rest of the shell aware of any changes.
While here, modify 'ulimit -aSH' to print both the soft and hard limi
Have the ulimit command watch for ulimit -n (alter number of available fds) and keep the rest of the shell aware of any changes.
While here, modify 'ulimit -aSH' to print both the soft and hard limits for the resources, rather than just (in this case, as H comes last) the hard limit. In any other case when both S and H are present, and we're examining a limit, use the soft limit (just as if neither were given).
No change for setting limits (both are set, unless exactly one of -H or -S is given). However, we now check for overflow when converting the value to be assigned, rather than just truncating the value however it happens to work out...
show more ...
|
#
2f08b82d |
| 13-May-2017 |
gson <gson@NetBSD.org> |
Fix inconsistent whitespace
|
#
a310a478 |
| 09-May-2015 |
christos <christos@NetBSD.org> |
CID 1225078: check getrlimit return
|
#
5a8cb1d4 |
| 11-Jun-2012 |
njoly <njoly@NetBSD.org> |
Allow thread limit queries by adding the new -r flag to ulimit. Add the corresponding documentation in the man page.
|
#
29741385 |
| 09-Jun-2012 |
christos <christos@NetBSD.org> |
support RLIMIT_NTHR.
|
#
068df697 |
| 11-Oct-2011 |
christos <christos@NetBSD.org> |
print the flag too next to the units like bash does.
|
#
76088cb0 |
| 18-Jun-2011 |
christos <christos@NetBSD.org> |
PR/45069: Henning Petersen: Use prototypes from builtins.h .
|
#
fcc02354 |
| 29-Mar-2009 |
mrg <mrg@NetBSD.org> |
- add new RLIMIT_AS (aka RLIMIT_VMEM) resource that limits the total address space available to processes. this limit exists in most other modern unix variants, and like most of them, our defaults a
- add new RLIMIT_AS (aka RLIMIT_VMEM) resource that limits the total address space available to processes. this limit exists in most other modern unix variants, and like most of them, our defaults are unlimited. remove the old mmap / rlimit.datasize hack.
- adds the VMCMD_STACK flag to all the stack-creation vmcmd callers. it is currently unused, but was added a few years ago.
- add a pair of new process size values to kinfo_proc2{}. one is the total size of the process memory map, and the other is the total size adjusted for unused stack space (since most processes have a lot of this...)
- patch sh, and csh to notice RLIMIT_AS. (in some cases, the alias RLIMIT_VMEM was already present and used if availble.)
- patch ps, top and systat to notice the new k_vm_vsize member of kinfo_proc2{}.
- update irix, svr4, svr4_32, linux and osf1 emulations to support this information. (freebsd could be done, but that it's best left as part of the full-update of compat/freebsd.)
this addresses PR 7897. it also gives correct memory usage values, which have never been entirely correct (since mmap), and have been very incorrect since jemalloc() was enabled.
tested on i386 and sparc64, build tested on several other platforms.
thanks to many folks for feedback and testing but most espcially chuq and yamt for critical suggestions that lead to this patch not having a special ugliness i wasn't happy with anyway :-)
show more ...
|
#
3957d0ca |
| 28-Dec-2008 |
christos <christos@NetBSD.org> |
rlim_t will be unsigned as TOG mandates.
|
#
c05266af |
| 01-Oct-2005 |
christos <christos@NetBSD.org> |
fix setmode error handling.
|
#
4803d37f |
| 19-Mar-2005 |
dsl <dsl@NetBSD.org> |
Fix the way the 'read' builtin processes IFS. In particular: - IFS whitespace is now processes correctly, - Trailing non-whitespace IFS characters are added to the last variable iff a subsequent v
Fix the way the 'read' builtin processes IFS. In particular: - IFS whitespace is now processes correctly, - Trailing non-whitespace IFS characters are added to the last variable iff a subsequent variable would have been assigned a non-null string. Now passes the 'read' tests in http://www.research.att.com/~gsf/public/ifs.sh
show more ...
|
#
778dabc2 |
| 19-Apr-2004 |
lukem <lukem@NetBSD.org> |
Correct the description of sbsize; it is parsed in bytes not kbytes.
|
#
6acf809e |
| 17-Apr-2004 |
christos <christos@NetBSD.org> |
understand rlimit sbsize
|
#
b5b29542 |
| 07-Aug-2003 |
agc <agc@NetBSD.org> |
Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22249, verified by myself.
|
#
c02b3bbd |
| 24-Nov-2002 |
christos <christos@NetBSD.org> |
Fixes from David Laight: - ansification - format of output of jobs command (etc) - job identiers %+, %- etc - $? and $(...) - correct quoting of output of set, export -p and readonly -p - differentia
Fixes from David Laight: - ansification - format of output of jobs command (etc) - job identiers %+, %- etc - $? and $(...) - correct quoting of output of set, export -p and readonly -p - differentiation between nornal and 'posix special' builtins - correct behaviour (posix) for errors on builtins and special builtins - builtin printf and kill - set -o debug (if compiled with DEBUG) - cd src obj (as ksh - too useful to do without) - unset -e name, remove non-readonly variable from export list. (so I could unset -e PS1 before running the test shell...)
show more ...
|
#
33809804 |
| 04-Feb-2001 |
christos <christos@NetBSD.org> |
remove redundant declarations and nexted externs.
|
#
f819878c |
| 04-Jan-2001 |
lukem <lukem@NetBSD.org> |
use more standard %ll_ in favour of %q_
|