Commit Graph

24 Commits

Author SHA1 Message Date
agc eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
christos 75fdb547df PR/13242: John Heasley: ENOTDIR is not fatal 2003-03-15 04:41:17 +00:00
nathanw f60f35f3ab Don't acquire __environ_lock around exec*() calls; nothing requires
that these calls be thread-safe with respect to the environment, and it
causes serious problems for threaded applications which call vfork() and
exec*() (including indirectly, via popen() or system()).

Acquire and release __environ_lock in the parent in popen() and system() to
play safe and provide the child with a stable environment.

__environ_lock should also have an atfork() handler; still under development.
2003-03-04 19:44:09 +00:00
thorpej 3fdac2b8c5 Merge the nathanw_sa branch. 2003-01-18 10:52:16 +00:00
enami 689d72c0ba Use memcpy instead of memmove since no overlaps here (copy from somewhere
outside of the funciton to our stack).
2001-12-08 00:30:59 +00:00
enami 9e0ad09c03 Cosmetic changes (including ANSI'fy). 2001-09-19 01:14:51 +00:00
enami b2e798fd44 Remove unnecessary alloca, strcpy and strlen call. 2001-09-19 01:07:19 +00:00
simonb aaa0df1add Use alloca() instead of malloc() and strdup(). Proper fix for the find
problem posted to current-users@netbsd.org.  Solution suggested by a
couple of folks on that mailing list, and Art Grabowski who pointed me
at a similar change in OpenBSD.
2001-09-18 05:09:37 +00:00
mycroft 605490369c Delint.
Remove trailing ; from uses of __weak_alias().  The macro inserts this if
needed.
2000-01-22 22:19:07 +00:00
lukem d896261208 back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
1999-09-20 04:38:56 +00:00
lukem b48252f365 * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
  and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

		_DIAGASSERT(path != NULL)
	#ifdef _DIAGNOSTIC
		if (path == NULL) {
			errno = EFAULT;
			return (-1);
		}
	#endif
1999-09-16 11:44:54 +00:00
lukem d21225500f revert previous (as per klaus). will diagassert() name == NULL check instead... 1999-09-16 11:36:19 +00:00
lukem f385db7764 check name != NULL before checking name[0] != '\0' 1999-09-16 08:12:21 +00:00
kleink 0d5bfdd00f Make argv construction code reentrant. 1999-02-04 18:17:16 +00:00
christos b4d3f6c477 fix lint const lossage. 1998-11-12 16:09:46 +00:00
kleink 4bbb5fd353 Add a multiple-reader/single-writer lock to protect environ. 1998-09-11 21:03:18 +00:00
perry 98b9f211ee fix bcopy->memcpy with memcpy->memmove -- not strictly needed, but... 1998-08-26 00:38:39 +00:00
perry a843f0f8a5 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-10 02:43:08 +00:00
perry 597e2701ac trivial changes to reduce lint complaints 1998-02-26 02:26:12 +00:00
perry 4146d58604 remove obsolete register declarations 1998-02-03 18:23:37 +00:00
jtc 43fa6fe319 If port provides __weak_alias(), provide an Standard C and POSIX pure
identifier namespace by renaming non standard functions and variables
such that they have a leading underscore.  The library will use those
names internally.  Weak aliases are used to provide the original names
to the API.

This is only the first part of this change.  It is most of the functions
which are implemented in C for all NetBSD ports.  Subsequent changes are
to add the same support to the remaining C files, to assembly files, and
to the automagically generated assembly source used for system calls.
When all of the above is done, ports with weak alias support should add
a definition for __weak_alias to <sys/cdefs.h>.
1997-07-21 14:06:24 +00:00
christos b8e9ff89a3 Fix RCSID's
Initialize `path' in case of error.
Fix gcc warnings.
1997-07-13 18:57:04 +00:00
kleink 44864185e6 POSIX.1/stopgap measure: if "" is to be executed, fail with ENOENT
immediately as there is no way for namei() to deal with this when
traversing $PATH.
1997-04-24 18:55:51 +00:00
jtc 614420255a Split all exec*() functions out of exec.c into their own files. 1996-07-03 21:41:46 +00:00