millert
72e2001bda
BSD getopt() supports '-' in the optstring so we should too.
This is used by a few programs such as man and su.
22 years ago
millert
d58f8a4c5b
Fix pasto in last commit.
22 years ago
millert
03be658a41
For getopt_long_only() we *do* want to match single-character options
as shortcuts for long ones, but only if this would not conflict with
a short option in optstring. Now binutils gas works.
22 years ago
millert
22eaf3990b
In srandomdev(), if we can't access /dev/arandom, use the sysctl() instead.
We don't want to use the sysctl() by default since we are reading more
than just a few bytes of entropy when setting up the state.
22 years ago
millert
def8d6bd9d
Fix two compatibility issues with our getopt_long_only() vs. the GNU version:
o Check for long options even when not at the beginning of an option.
For instance, if -a is a short option w/o an arg and -static is a
boolean long option then -astatic is valid for getopt_long_only().
o If a potential long argument does not match longopts and the first
character is not a short option, print a warning and skip the rest
of the argument.
Also clean up some trailing whitespace and change return value of
parse_long_options() from -2 to -1 when unmatched and in long_only mode.
With these fixes the binutils ld seems happy with our getopt_long_only()
22 years ago
millert
da126e4ad2
Correctly handle -Wlong_arg (no space between -W and long_arg) when "W;"
is in optstring.
22 years ago
millert
2208de30a3
Reorganize this so that getopt_only_only() works correctly.
In order for getopt_only_only() to work we need to check for long
options before short ones. I have merged getopt_internal and
getopt_long_internal into a single function with the actual long
args parsing broken out into a separate function.
This also simplifies the flow of control.
22 years ago
millert
671dc74fb7
make getopt_long and getopt_long_only protos match getopt.h
22 years ago
millert
26eca9994a
Add "RETURN VALUES" sections
22 years ago
millert
6f124adcac
.Xr getopt_long
22 years ago
millert
ab0180d5e4
Whoops, add missing #ifdef REPLACE_GETOPT
22 years ago
millert
da213272c0
fix typo
22 years ago
millert
52c5998342
GNU-like getopt_long() from NetBSD with changes by me to support
getopt_long_only(). At some point this should replace the BSD
getopt(3) but we are not there yet.
While I am here add protection from the multiple getopt() definitions
due to conflicting standards.
22 years ago
millert
47c7c08921
Crank all library major numbers. Needed due to the fact that we
now build libraries with propolice enabled. Without this, existing
binaries (such as ports/packages) that link with any system library
other than libc will fail with an undefined symbol of "___guard"
(__guard on ELF).
Pointed out by markus@ and discussed with deraadt@
22 years ago
millert
5a1579637f
Add ecvt(), fcvt() and gcvt() for standard compliance and legacy code.
22 years ago
tdeval
2a55c1e776
Honour malloc_junk ('J') with realloc(3), and fix page_dir shrink update.
22 years ago
cloder
852a863c23
Warn if atexit(3) fails. Change some tabs to spaces. Use
STDERR_FILENO instead of 2.
OK millert@
22 years ago
millert
1670acafb5
Add HISTORY section
22 years ago
millert
73ff679f9f
.Xr atoll(3) and add missing .Xr of atol(3) in atoll(3) man page.
22 years ago
millert
811f857cf2
Take advantage of the libc minor bump and add atoll(3)
22 years ago
marc
e44f851320
Add strerror_r and functions versions of getchar_unlocked and
22 years ago
marc
eefd3d97b6
thread safe libc -- 2nd try. OK miod@, millert@
22 years ago
marc
2b7dd8d384
back out previous patch.. there are still some vax/m68k issues
22 years ago
marc
80b718f7ee
libc changes for thread safety. Tested on:
22 years ago
dhartmei
f29e2452e5
Move __cleanup into mprotect'ed page to prevent unintentional modifications
similar to the atexit handlers. Idea and help deraadt@, ok deraadt@
22 years ago
henning
d67bb87548
missing include, ok theo
22 years ago
dhartmei
cef62f0908
re-enable function pointer table protection, this time make sure that
malloc.c gets the first mmap() call (since it depends on that, for its
sbrk(0) use). ok deraadt@
22 years ago
deraadt
f73c2b1c58
do not export error_table
22 years ago
miod
6819b734ce
Suggest better types in examples; from NetBSD
22 years ago
millert
ca00f6f3e4
mark pw_error() __dead since it exits
22 years ago
dhartmei
3e0b53c913
Back it out, it breaks something in perl (seen with spamassassin), debug
first.
22 years ago
deraadt
968c135966
permit calloc(0, N) and calloc(N, 0) -- malloc(0) does the right thing; markus miod ok
22 years ago
deraadt
08616e9a96
return failure if integer overflow happens. sigh; too people had to
help get this right.
22 years ago
dhartmei
b7839b1965
Replace atexit handler. mprotect() the pages so an attempt to modify the
function pointers from the outside will segfault. Idea, hints and feedback
from deraadt. ok deraadt.
22 years ago
millert
3a97f67ea7
Convert to ANSI function headers and make 'ch' argument int, not char.
Noticed by deraadt@
22 years ago
millert
8605e7d157
Replace strtou?q() with the more standard strtou?ll(), using weak
aliases to fake up strtou?q(). espie@ OK.
22 years ago
deraadt
695e261e2d
%u for uid/gid; millert ok
22 years ago
millert
b013f0d14d
Now that we don't have a trailing newline we need to explicitly check
that the first char in the line is not NUL after killing comments.
22 years ago
millert
6cea6780f6
Use strtok_r() instead of strsep() since the latter treats consecutive
field separators as empty field. This is not what we want for
whitespace-delimited fields.
22 years ago
millert
fab5e38f3f
login_fbtab(3) fixes:
o make first arg const since we don't modify it
o use strsep() instead of strtok() as strtok() changes internal state
o add some bounds checking and use strlcat() instead of pointer arithmetic
o ANSI function headers
Originally based on a patch from Lars J. Buitinck but much modified.
22 years ago
fgsch
fb18813faf
some -Wall and spaces cleanup, scsi.c left.
some brave soul should look at it.
22 years ago
deraadt
f1eab69159
unsigned vs unsigned int
22 years ago
deraadt
1861c91a56
pid_t cleanup
22 years ago
deraadt
9f44aaa017
strlcpy at most 16 characters, so says man page
22 years ago
deraadt
5cdc7e2335
strlcpy and KNF
22 years ago
deraadt
23c67c2ee8
KNF
22 years ago
deraadt
7c4d34d5bc
try to use strlcpy and snprintf more; ok various
22 years ago
itojun
19f3ad7a81
atexit(3) can fail. handle error accordingly. deraadt ok
XXX libraries should not use atexit(3) from within, as program can terminate
with _exit.
22 years ago
millert
d67b87ef2f
For strncpy(), dst is not NUL terminated if strlen(src) >= len.
Also fix a typo; adapted from a patch by Moritz Jodeit
22 years ago
mpech
bc299477ad
o) start new sentence on a new line;
o) always close .Bl tags;
o) fix usage of .Xr;
millert@ ok
23 years ago