freebsd-nq/lib/libc/gen
Ed Schouten 938809f941 Fix up prototypes of basename(3) and dirname(3) to comply to POSIX.
POSIX allows these functions to be implemented in a way that the
resulting string is stored in the input buffer. Though some may find
this annoying, this has the advantage that it makes it possible to
implement this function in a thread-safe way. It also means that they
can be implemented in a way that they work for paths of arbitrary
length, as the output string of these functions is never longer than
max(1, len(input)).

Portable code already needs to be written with this in mind, so in my
opinion it makes very little sense to allow the existing behaviour.
Prevent the base system from falling back to this by switching over to
POSIX prototypes.

I'm not going to bump the __FreeBSD_version for this. The reason is that
it's possible to account for this change in a portable way, without
depending on a specific version of FreeBSD. An exp-run was done some
time ago. As far as I know, all regressions as a result of this have
already been fixed.

I'll give this change some time to settle. In the long run I want to
replace our copies by ones that are thread-safe and don't depend on
PATH_MAX/MAXPATHLEN.
2016-07-28 16:20:27 +00:00
..
__getosreldate.c
__pthread_mutex_init_calloc_cb_stub.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
__xuname.c
_once_stub.c Reassign copyright statements on several files from Advanced 2015-04-23 14:22:20 +00:00
_pthread_stubs.c Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
_rand48.c
_spinlock_stub.c Fix typo. Note that this is mostly innocent, since libthr no longer 2015-02-27 19:23:01 +00:00
_thread_init.c Turn off default generation of userland dot symbols on powerpc64 now that 2011-02-18 21:44:53 +00:00
alarm.3
alarm.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
arc4random.3 Globally replace u_int*_t from (non-contributed) man pages. 2012-02-12 18:29:56 +00:00
arc4random.c libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
assert.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
auxv.c Rename aux.c to auxv.c. 2012-08-11 12:07:24 +00:00
basename.3 Fix up prototypes of basename(3) and dirname(3) to comply to POSIX. 2016-07-28 16:20:27 +00:00
basename.c Fix up prototypes of basename(3) and dirname(3) to comply to POSIX. 2016-07-28 16:20:27 +00:00
cap_rights_get.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
cap_sandboxed.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
cap_sandboxed.c Update most userspace consumers of capability.h to use capsicum.h instead. 2014-03-16 11:04:44 +00:00
check_utility_compat.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
check_utility_compat.c - Reduce buffer size from LINE_MAX to PATH_MAX, there is no point to store 2012-12-21 22:20:59 +00:00
clock_getcpuclockid.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
clock_getcpuclockid.c Fix prototype. Also the function should return error code instead of 2012-08-21 09:17:13 +00:00
clock.3
clock.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-22 07:31:40 +00:00
closedir.c Implement fdclosedir(3) function, which is equivalent to the closedir(3) 2013-08-18 20:11:34 +00:00
confstr.3
confstr.c
crypt.c
ctermid.3 Reimplement ctermid(). 2011-10-01 12:19:48 +00:00
ctermid.c Reimplement ctermid(). 2011-10-01 12:19:48 +00:00
daemon.3
daemon.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
devname.3
devname.c libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
directory.3 Remove sys/types.h 2016-02-19 06:50:00 +00:00
dirfd.c Put my name as copyright owner of lib/libc/gen/dirfd.c added in r235647. 2012-05-19 14:30:49 +00:00
dirname.3 Fix up prototypes of basename(3) and dirname(3) to comply to POSIX. 2016-07-28 16:20:27 +00:00
dirname.c Fix up prototypes of basename(3) and dirname(3) to comply to POSIX. 2016-07-28 16:20:27 +00:00
disklabel.c Drop cgetclose() from getdiskbyname(). 2015-02-06 14:07:01 +00:00
dl_iterate_phdr.3 Update dl_iterate_phdr(3) to follow r272842 2014-10-09 22:58:33 +00:00
dladdr.3
dlfcn.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
dlinfo.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
dllockinit.3
dlopen.3 The ld(1) flag is -Bsymbolic not -Wsymbolic. 2015-02-14 15:14:41 +00:00
drand48.c
dup3.3 dup3(3): Replace copyright notice. 2013-08-18 13:25:18 +00:00
dup3.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
elf_utils.c If libthr.so is dlopened without RTLD_GLOBAL flag, the libthr symbols 2016-02-08 19:24:13 +00:00
erand48.c
err.3 Use the .Bx macro instead of BSD 2012-04-26 19:21:58 +00:00
err.c libc: replace 0 with NULL for pointers. 2016-04-10 19:33:58 +00:00
errlst.c Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
errno.c
exec.3 Add sbin and /usr/local directories to _PATH_DEFPATH. 2016-01-05 16:21:20 +00:00
exec.c libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
fdevname.c
feature_present.3 [mdoc] Fixed .Dt call. 2011-05-25 14:13:53 +00:00
feature_present.c Adding missing include to eliminate -Wmissing-prototypes warning 2015-09-20 03:56:57 +00:00
fmtcheck.3
fmtcheck.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
fmtmsg.3
fmtmsg.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
fnmatch.3
fnmatch.c 1) Eliminate possibility to call __*collate_range_cmp() with inclomplete 2016-07-14 09:07:25 +00:00
fpclassify.3
fpclassify.c Fix __fpclassifyl when double == long double. As with r283693 this is 2015-05-29 09:26:10 +00:00
frexp.3
frexp.c
fstab.c Replace strcpy() with strlcpy() 2015-02-15 21:11:07 +00:00
ftok.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
ftok.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
fts-compat.c Fix 1016718 Resource leak. 2016-05-25 06:55:53 +00:00
fts-compat.h Remove the advertising clause from the Regents of the University of 2013-05-28 21:05:06 +00:00
fts.3 fts(3): Remove stray mentions of the obsolete fts_bignum. 2014-01-12 20:47:08 +00:00
fts.c FTS: Remove stale reference to nfs4 fs which was removed in r192578. 2016-05-21 01:31:41 +00:00
ftw.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
ftw.c ftw(): Do not check the maxfds argument against OPEN_MAX. 2012-08-09 15:11:38 +00:00
gen-private.h Fix some edge cases with rewinddir(): 2014-07-11 16:16:26 +00:00
getbootfile.3
getbootfile.c
getbsize.3 mdoc: Use the Ev macro for environmental variables. 2012-11-16 12:03:50 +00:00
getbsize.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getcap.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
getcap.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
getcontext.3 Add the getcontextx prototype to SYNOPSIS. 2013-03-13 18:18:16 +00:00
getcwd.3
getcwd.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getdiskbyname.3 Remove vestiges of disklabel(5). 2011-04-14 08:53:04 +00:00
getdomainname.3
getdomainname.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getfsent.3
getgrent.3
getgrent.c Remove a set but unused variable in __getgroupmembership to fix a gcc 4.9+ warning 2015-10-30 05:50:05 +00:00
getgrouplist.3 getgrouplist(3) was reimplemented in terms of getgrent_r(3) in r174547, so 2014-10-27 04:09:23 +00:00
getgrouplist.c
gethostname.3
gethostname.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getloadavg.3
getloadavg.c Use ANSI C prototypes. 2015-09-14 18:44:13 +00:00
getlogin.c The getlogin_basic() function can return a 0 status with a NULL 2014-04-05 18:14:58 +00:00
getmntinfo.3
getmntinfo.c libc: replace 0 with NULL for pointers. 2016-04-10 19:33:58 +00:00
getnetgrent.3 Implement an NSS backend for netgroups and add getnetgrent_r(3). 2016-06-09 01:28:44 +00:00
getnetgrent.c Implement an NSS backend for netgroups and add getnetgrent_r(3). 2016-06-09 01:28:44 +00:00
getosreldate.3
getosreldate.c Clean up includes; the prototype for getosreldate() has moved to 2011-12-14 08:35:08 +00:00
getpagesize.3
getpagesize.c Remove trailing whitespace and use nitems(mib) instead of 2 when 2016-04-19 22:59:21 +00:00
getpagesizes.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
getpagesizes.c
getpass.3
getpeereid.3
getpeereid.c libc: Use namespace.h in a few more files. 2015-12-20 23:05:20 +00:00
getprogname.3
getprogname.c
getpwent.3
getpwent.c libc: make some more use of the nitems() macro. 2016-04-16 17:52:00 +00:00
getttyent.3
getttyent.c Add a new flag to /etc/ttys: onifconsole. This is equivalent to "on" if the 2014-01-20 18:15:06 +00:00
getusershell.3
getusershell.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getutxent.3 Escape "Ed" 2015-04-26 10:29:43 +00:00
getutxent.c Make getutxent(3) more robust against bad utx.log files. Whenever we read 2013-10-15 13:32:01 +00:00
getvfsbyname.3
getvfsbyname.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
glob.3 1) Add all characters from ~ expansion as protected to be not interpreted 2016-07-18 18:24:31 +00:00
glob.c 1) POSIX defines well when GLOB_NOMATCH or original pattern 2016-07-23 03:49:02 +00:00
initgroups.3 getgrouplist(3) was reimplemented in terms of getgrent_r(3) in r174547, so 2014-10-27 04:09:23 +00:00
initgroups.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
isatty.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
isgreater.3
isinf.c Fix __isinfl on architectures where double == long double. This is the 2015-05-29 09:23:20 +00:00
isnan.c Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
jrand48.c
lcong48.c
ldexp.3
ldexp.c
libc_dlopen.c Fix a problem whereby a corrupt DNS record can cause named to crash. [11:06] 2011-12-23 15:00:37 +00:00
lockf.3 Consistently reference file descriptors as "fd". 55 other manpages 2013-09-12 00:53:38 +00:00
lockf.c Fix lockf(3) cancellation behaviour. 2015-12-20 11:55:39 +00:00
lrand48.c
makecontext.3
Makefile.inc libc: don't build compat functions if building WITHOUT_SYMVER 2016-03-15 19:26:32 +00:00
modf.3
modf.c Replace a proliferation of buggy MD implementations of modf() with a 2011-10-21 06:40:36 +00:00
mrand48.c
nftw.c nftw(): POSIX says directories causing loops should be silently skipped. 2012-08-09 22:05:40 +00:00
nice.3 mdoc: remove end of line whitespace 2015-04-26 10:56:06 +00:00
nice.c nice(): Put back old return value, keeping [EPERM] error. 2015-02-28 18:22:10 +00:00
nlist.3
nlist.c libc: make some more use of the nitems() macro. 2016-04-16 17:52:00 +00:00
nrand48.c
opendir.c libc: replace 0 with NULL for pointers. 2016-04-10 19:33:58 +00:00
pause.3
pause.c Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 03:58:27 +00:00
pmadvise.c The posix_madvise(3) and posix_fadvise(2) should return error on 2014-01-30 18:04:39 +00:00
popen.3 popen(): Add 'e' mode character to set close-on-exec on the new fd. 2013-05-20 17:31:18 +00:00
popen.c popen() requires check for fdopen() failure 2015-11-20 22:36:41 +00:00
posix_spawn_file_actions_addopen.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawn_file_actions_init.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawn.3 Add sbin and /usr/local directories to _PATH_DEFPATH. 2016-01-05 16:21:20 +00:00
posix_spawn.c Fix Coverity CID 1016714 Resource leak in process_file_actions_entry() 2016-05-25 07:13:53 +00:00
posix_spawnattr_getflags.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getpgroup.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getschedparam.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getschedpolicy.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getsigdefault.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getsigmask.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_init.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
psignal.3 Fix the signature of the psignal() function. 2016-05-30 13:51:27 +00:00
psignal.c Fix the signature of the psignal() function. 2016-05-30 13:51:27 +00:00
pututxline.c pututxline: Don't set errno=0 in subfunctions. 2013-04-17 21:08:15 +00:00
pw_scan.c
pw_scan.h
raise.3
raise.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
rand48.3 Add the same warning to rand48(3) as to rand(3) and random(3). 2012-09-11 12:55:15 +00:00
rand48.h
readdir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
readpassphrase.3
readpassphrase.c Fix bug in the readpassphrase(3) function, which can be exposed 2016-01-24 22:20:13 +00:00
recvmmsg.c Add implementations of sendmmsg(3) and recvmmsg(3) functions which 2016-01-29 14:12:12 +00:00
rewinddir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
rfork_thread.3 rfork_thread(3): Mark deprecated in favor of pthread_create(3). 2011-02-06 23:26:14 +00:00
scandir_b.c Add support for some block functions that come from OS X. These are 2014-04-02 16:07:48 +00:00
scandir.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
scandir.c Add support for some block functions that come from OS X. These are 2014-04-02 16:07:48 +00:00
seed48.c
seekdir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
sem_destroy.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_getvalue.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_init.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_new.c sem: Don't free nameinfo that is still in list when open() fails. 2016-01-22 14:52:31 +00:00
sem_open.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_post.3 sem_post(): Fix and document semaphore value overflow error. 2015-01-28 22:42:56 +00:00
sem_timedwait.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_wait.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem.c In revision 231989, we pass a 16-bit clock ID into kernel, however 2012-02-25 02:12:17 +00:00
semctl.c Disable support for compat syscalls on arm64. These symbols were never 2016-04-06 16:09:10 +00:00
sendmmsg.c Add implementations of sendmmsg(3) and recvmmsg(3) functions which 2016-01-29 14:12:12 +00:00
setdomainname.c
sethostname.c
setjmp.3
setjmperr.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
setmode.3 setmode(3): Make sure that setmode sets errno on failure. 2015-02-22 20:16:44 +00:00
setmode.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
setproctitle.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
setproctitle.c libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
setprogname.c
siginterrupt.3
siginterrupt.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
siglist.c
signal.3 Document SIGLIBRT in signal(3); take a stab at the signal description as 2013-09-03 08:19:06 +00:00
signal.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
sigsetops.3
sigsetops.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
sleep.3 Clarify text to be consistent with nanosleep(2), 2015-01-08 01:27:43 +00:00
sleep.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
srand48.c
statvfs.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
statvfs.c
stringlist.3 - sl_find does not modify 'name' 2013-04-23 13:03:03 +00:00
stringlist.c Remove clause 3 and 4 from the license 2015-05-21 08:38:25 +00:00
strtofflags.3
strtofflags.c Use unsigned variables in a few places. 2015-09-14 18:59:01 +00:00
Symbol.map Implement an NSS backend for netgroups and add getnetgrent_r(3). 2016-06-09 01:28:44 +00:00
sysconf.3 sysconf(3): Correct the description of _SC_OPEN_MAX. 2013-04-26 21:43:42 +00:00
sysconf.c libc: Use namespace.h in a few more files. 2015-12-20 23:05:20 +00:00
sysctl.3 Remove the v_cache_min and v_cache_max sysctls. They are unused and have 2015-09-11 03:00:20 +00:00
sysctl.c Fix sysctl(3) so it returns the intended values for all mib names in 2015-07-06 01:42:12 +00:00
sysctlbyname.c Eliminate redundant variable. 2012-12-12 15:27:33 +00:00
sysctlnametomib.c
syslog.3 Add missing priority argument in example code in BUGS section. 2015-07-21 09:44:45 +00:00
syslog.c Reinstitate send() after syslogd restarts. 2014-11-25 20:59:22 +00:00
tcgetpgrp.3
tcgetsid.3
tcsendbreak.3
tcsetattr.3
tcsetpgrp.3
tcsetsid.3
telldir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
telldir.h Tweak seekdir, telldir and readdir so that when htere are deletes going on, 2015-05-05 14:52:33 +00:00
termios.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
time.3
time.c
times.3
times.c
timezone.3
timezone.c Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
tls.c Re-use our roundup2() macro instead of reinventing the wheel. 2016-04-18 16:25:37 +00:00
trivial-getcontextx.c Remove duplicate copies of trivial getcontextx.c 2015-01-12 18:13:38 +00:00
ttyname.3 ttyname(3): Fix EBADF/ENOTTY error descriptions. 2014-07-18 21:29:59 +00:00
ttyname.c ttyname_r(): Return actual error, not always [ENOTTY]. 2015-02-01 22:50:33 +00:00
ttyslot.c Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 03:58:27 +00:00
tzset.3
ualarm.3
ualarm.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
ucontext.3 Add API for obtaining extended machine context states that cannot be 2012-01-21 18:00:28 +00:00
ulimit.3
ulimit.c ulimit(3): simplify. 2015-02-17 16:01:00 +00:00
uname.3
uname.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
unvis-compat.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
usleep.3
usleep.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
utime.3 utimes(2),utime(3): Add deprecation in favour of utimensat(2) and futimens(2). 2016-06-09 22:14:58 +00:00
utime.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
utxdb.c Make utmpx(3) thread safe if we support TLS. 2012-03-23 08:26:31 +00:00
utxdb.h
valloc.3
valloc.c
wait3.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
wait.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
waitid.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
waitpid.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
wordexp.3 wordexp: Rewrite to make WRDE_NOCMD reliable. 2015-09-30 21:32:29 +00:00
wordexp.c wordexp: Rewrite to make WRDE_NOCMD reliable. 2015-09-30 21:32:29 +00:00