summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/realpath.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix stripping last path component when only one path component left.fjoe2003-05-281-2/+2
| | | | | PR: 52686 MFC after: 1 day
* Back out the `hiding' of strlcpy and strlcat. Several peoplenectar2003-05-011-6/+6
| | | | vocally objected to this safety belt.
* `Hide' strlcpy and strlcat (using the namespace.h / __weak_referencenectar2003-04-291-6/+6
| | | | | | | technique) so that we don't wind up calling into an application's version if the application defines them. Inspired by: qpopper's interfering and buggy version of strlcpy
* BDE'ifyfjoe2003-03-291-79/+89
|
* fix truncation check and buffer overflow checkfjoe2003-03-291-11/+11
|
* - MAXPATHLEN -> PATH_MAX (pass correct buffer size to readlink as well)fjoe2003-03-281-17/+17
| | | | Requested by: bde
* Make realpath() thread-safe. New implementation does not use chdir(2) at all.fjoe2003-03-271-107/+128
| | | | Submitted by: Constantin S. Svintsoff <kostik (at) iclub.nsu.ru>
* Use strlcpy instead of strncpy.johan2003-02-221-2/+1
| | | | | Submitted by: imp Reviewed by: silence on -audit
* realpath(3) should use PATH_MAX instead of MAXPATHLEN according to POSIX.johan2003-01-151-7/+7
| | | | | | | | This also reverts the PATH_MAX -> MAXPATHLEN part of rev 1.3 of src/bin/realpath/realpath.c Requested by: imp Reviewed by: imp, bde
* Fix the style of the SCM ID's.obrien2002-03-221-2/+2
| | | | I believe have made all of libc .c's as consistent as possible.
* Remove _THREAD_SAFE and make libc thread-safe by default bydeischen2001-01-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | adding (weak definitions to) stubs for some of the pthread functions. If the threads library is linked in, the real pthread functions will pulled in. Use the following convention for system calls wrapped by the threads library: __sys_foo - actual system call _foo - weak definition to __sys_foo foo - weak definition to __sys_foo Change all libc uses of system calls wrapped by the threads library from foo to _foo. In order to define the prototypes for _foo(), we introduce namespace.h and un-namespace.h (suggested by bde). All files that need to reference these system calls, should include namespace.h before any standard includes, then include un-namespace.h after the standard includes and before any local includes. <db.h> is an exception and shouldn't be included in between namespace.h and un-namespace.h namespace.h will define foo to _foo, and un-namespace.h will undefine foo. Try to eliminate some of the recursive calls to MT-safe functions in libc/stdio in preparation for adding a mutex to FILE. We have recursive mutexes, but would like to avoid using them if possible. Remove uneeded includes of <errno.h> from a few files. Add $FreeBSD$ to a few files in order to pass commitprep. Approved by: -arch
* Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(),jasone2000-01-271-3/+3
| | | | | | | | | | | | | | | | | just use _foo() <-- foo(). In the case of a libpthread that doesn't do call conversion (such as linuxthreads and our upcoming libpthread), this is adequate. In the case of libc_r, we still need three names, which are now _thread_sys_foo() <-- _foo() <-- foo(). Convert all internal libc usage of: aio_suspend(), close(), fsync(), msync(), nanosleep(), open(), fcntl(), read(), and write() to _foo() instead of foo(). Remove all internal libc usage of: creat(), pause(), sleep(), system(), tcdrain(), wait(), and waitpid(). Make thread cancellation fully POSIX-compliant. Suggested by: deischen
* Add three-tier symbol naming in support of POSIX thread cancellationjasone2000-01-121-3/+5
| | | | | | points. For library functions, the pattern is __sleep() <-- _libc_sleep() <-- sleep(). The arrows represent weak aliases. For system calls, the pattern is _read() <-- _libc_read() <-- read().
* fix tabs lost apparently in copy&pasteache1999-02-121-5/+5
|
* Replace memory leaking instances of realloc with non-leaking reallocf.imp1998-09-161-1/+1
| | | | | | | | | | | In some cases replace if (a == null) a = malloc(x); else a = realloc(a, x); with simple reallocf(a, x). Per ANSI-C, this is guaranteed to be the same thing. I've been running these on my system here w/o ill effects for some time. However, the CTM-express is at part 6 of 34 for the CAM changes, so I've not been able to do a build world with the CAM in the tree with these changes. Shouldn't impact anything, but...
* realpath() should break on looped symlinks.phk1997-07-161-0/+5
| | | | | | PR: 3911 Reviewed by: phk Submitted by: Shigio Yamaguchi <shigio@wafu.netgate.net>
* Part 2 of a failed commit (cvs broke). Original message:peter1997-03-131-0/+158
| | | | | | | | | | | | | | | | Back out a dubious Lite2 change to "optimise" getcwd() to look at $PWD because it's potentially dangerous (think: symlink races). Move realpath() back to it's original location, and remove getcwd_physical() by renaming it back to getcwd() and zapping the original getcwd wrapper. Noticed by: bde The following commits already happened but the log message got lost: Modified Files: gen/Makefile.inc gen/getcwd.c stdlib/Makefile.inc Removed Files: gen/realpath.3
* merge from Lite2 - realpath() now shares a lot of code with getcwd()peter1997-03-111-158/+0
| | | | and is now in the same file.
* Don't attempt to lstat() the POSIXLY invalid empty pathname.bde1995-02-251-1/+1
| | | | | realpath() still accepts "" as an arg and converts it to a canonical pathname for the current directory.
* BSD 4.4 Lite Lib Sourcesrgrimes1994-05-271-0/+158
OpenPOWER on IntegriCloud