Commit Graph

830 Commits

Author SHA1 Message Date
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
lukem
8423dd3490 implement __diagassert(). currently this just prints the assertion to
stderr and syslog()s to user.debug. (it does not abort).

XXX: implement a scheme similar to $MALLOC_OPTIONS which gives the
user control over whether to stderr, syslog, abort, do nothing, etc...
1999-09-15 23:57:21 +00:00
kleink
7d2e8d6525 Add an XSH5 ulimit()/<ulimit.h> implementation. 1999-09-13 18:38:04 +00:00
kleink
d5cfef41b5 Add the inevitable __RCSID(). 1999-09-13 18:36:02 +00:00
kleink
734b2b9b5e Add an XSH5 fmtmsg() implementation. 1999-09-12 19:04:30 +00:00
kleink
ecaa1449b5 Move the function implementations of (the non-ANSI) isascii() and toascii()
into separate modules to avoid namespace clashes.
1999-09-12 18:54:34 +00:00
kleink
03126e1c99 Use full month names with .Dd, as per mdoc.samples(7). 1999-09-12 18:47:10 +00:00
proff
fb95c8ad2b Document return values and bugs 1999-09-03 13:12:44 +00:00
mycroft
07ccaa3409 HUGE_VAL -> infinity 1999-08-29 18:55:29 +00:00
mycroft
3b800f4a61 Mention more of the special cases. 1999-08-29 18:52:18 +00:00
mycroft
9a255f2ff2 Readd my change from fts.c rev 1.10, which was incorrectly removed in rev 1.19
(HI CHRISTOS!):
Avoid extra stat()s if a link count of 1 is returned for directories but the
d_type field is filled in.
1999-08-27 21:10:46 +00:00
mycroft
4c9100d48f Adjust fts_pow2() for LP64 before Ross bricks me. 1999-08-27 20:02:14 +00:00
mycroft
ea03e67f3c GC one line of unneeded code. 1999-08-27 18:33:29 +00:00
mycroft
6b91e1fa70 Fix the comment above fts_palloc().
Also, fail with ENOMEM if fts_pathlen would overflow, rather than silently truncating the
path.
1999-08-27 18:29:08 +00:00
mycroft
8db2a166f9 Avoid memory leaks when realloc() fails (by storing the return value in a temporary, and
testing it before assigning it; fts_close(3) will deallocate the old memory).
1999-08-27 18:26:34 +00:00
mycroft
b09ec9deb8 Fix multiple problems in the FTS_NOCHDIR case:
* There was an off-by-one error that caused the addition of a NUL or slash in fts_build() to
  overwrite other memory.
* After fts_palloc(), we need to reset `cp' so that it points to the new path name buffer;
  otherwise the addition of the file name before calling fts_stat() could lose.
Also, fix stupidity in the fts_palloc() interface.  We don't want N bytes more than the
current buffer size; we want N bytes more than the current length.  Just pass in the new
size, since we can't figure it out easily here.
1999-08-27 18:01:35 +00:00
mycroft
ba3f600103 Allocate the path name buffer by powers of 2. 1999-08-27 06:17:33 +00:00
mycroft
8f599f97a7 Minor change to previous. 1999-08-26 20:28:53 +00:00
mycroft
8873459bcb Fix 3 bugs:
* When not using FTS_NOCHDIR, fts_accpath == fts_name.  fts_padjust should not
  try to move fts_accpath in this case.
* Previous entries at the same level also need to be adjusted.
* A bug was introduced in rev 1.8 (HI CHRISTOS!!) that caused the maxlen
  comparison to always fail (due to type promotions) when sp->fts_pathlen ==
  cur->fts_pathlen -- thus causing memory stompage.
1999-08-26 20:24:59 +00:00
mycroft
af3e075076 Make some needed weak aliases. 1999-08-17 03:43:59 +00:00
kleink
9208fe856f Add header file inclusion, and Xref single-precision versions. 1999-08-16 23:12:19 +00:00
fvdl
0536609b97 Keep track of the number of encountered symlinks and fail with ELOOP
if they exceed MAXSYMLINKS.
1999-08-10 13:03:11 +00:00
sommerfeld
508d2d0e9e Avoid infinite loop if pathname is longer than the maximum the kernel
is willing to return from getcwd().
(this can only happen in -current).
1999-07-11 18:01:46 +00:00
kleink
7b67bca335 Add compile-time and run-time feature test knobs for the 1003.1 Mapped Files,
Process Memory Locking, Range Memory Locking and Memory Protection options.
1999-06-24 14:18:10 +00:00
thorpej
3787c5c3d8 MAP_COPY -> MAP_PRIVATE 1999-06-17 21:09:47 +00:00
simonb
5bef8a3c65 The prototype for this is in <stdlib.h>... 1999-06-15 12:14:08 +00:00
christos
d3afd1cc44 make this compile under linux 1999-06-11 15:38:40 +00:00
christos
033ffd1215 make this compile under linux too. 1999-06-10 23:40:53 +00:00
kleink
9fa49f9cd5 Need <unistd.h> for declarations. 1999-05-26 15:39:36 +00:00
ad
ccc7e59e1f Add new sysctl (net.inet.tcp.log_refused) that when set, causes refused TCP
connections to be logged.
1999-05-23 20:33:50 +00:00
christos
11f565478e Fix unaligned access lint warning. 1999-05-03 14:35:46 +00:00
christos
c52c8cc0b1 int -> size_t problems, change do { } while (0) to for (;;) 1999-05-03 14:33:50 +00:00
ross
415d4c2f07 Fix fpgetmask.3 MLINKS braino. 1999-05-01 22:45:57 +00:00
ross
c5a82dd848 * New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha.  (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
1999-04-30 00:58:30 +00:00
ross
c36a5f5190 Unconditionalize `rval' declaration referenced in usr.bin/chpass/ via .PATH 1999-04-27 06:08:58 +00:00
lukem
df8debb219 change dns_getpw() to skip dodgy entries when doing getpwent(), rather
than returning NS_UNAVAIL. this means that a -ve uid entry in hesiod
doesn't stop getpwent() in its tracks. it also brings it in line with
how nis_getpw() works as well in this situation.
problem tracked down (with much pain & suffereing) by simonb.

XXX: we currently have no support for -ve uids, and this is painful in
XXX: hetrogenous environment... (this -ve check is enforced in __pwscan())
1999-04-26 04:01:32 +00:00
lukem
61ae8b4739 document duplicate suppression 1999-04-25 14:56:10 +00:00
lukem
253fa5cc72 suppress duplicate gids (e.g, when multiple sources are given in
nsswitch.conf and they contain similar information).

XXX: in the case where the given array is too small and -1 is returned,
the returned ngroups will be too large by a factor of the difference
between the given size and the number of matches. this is not considered
to be a major problem, since it's still going to be a smaller figure than
what the previous (non suppressive) behaviour returned.
1999-04-25 14:47:46 +00:00
lukem
d438433458 * highlight that getgrent() doesn't suppress duplicate info from multiple
nsswitch.conf sources
* consistently refer to `functions', rather than occasionally referring
  to them as `routines'.
1999-04-25 13:47:37 +00:00
lukem
83e7ae6c5d * highlight that getpwent() doesn't suppress duplicate info from multiple
nsswitch.conf sources
* consistently refer to `functions', rather than occasionally referring
  to them as `routines'.
1999-04-25 13:45:02 +00:00
lukem
326483c4de change getgrent() backends so that a flag (per source) is set once the
source has been exhausted. this allows getgrent() across multiple
sources (e.g, ``group: files nis'') to work correctly. the flags are
reset in setgrent()/endgrent().

(as per similar change in getpwent.c rev 1.42)

XXX: this change means that code that uses getgrent() to obtain a list
of groups will have to do duplicate suppression... getgrouplist()
springs to mind; i'm about to modify that
1999-04-25 13:39:41 +00:00
lukem
a8743ef778 change getpwent() backends so that a flag (per source) is set once the
source has been exhausted. this allows getpwent() across multiple
sources (e.g, ``passwd: files nis'') to work correctly. the flags are
reset in setpassent()/endpwent().

this fixes a bug noted in [lib/7449] by thorpej, and tracked down to
getpwent() as being the culprit by simonb.
1999-04-25 07:54:01 +00:00
lukem
73e9ef01be specifically include stdarg/varargs.h 1999-04-18 02:04:04 +00:00
drochner
2c6db68a95 remove unused label 1999-04-08 17:07:02 +00:00
pk
1cd395375d 1, 2, 3 and.. 4! 1999-04-06 20:24:37 +00:00
cgd
b22750720f change:
.Sh "SEE ALSO"
to:
	.Sh SEE ALSO
The doc macros check for the latter (actually just for 'SEE' as the first
argument to .Sh) to set the section header SEE ALSO flag, which modifies
some behaviour (e.g. references done with .Rs/.Re).
1999-04-06 04:54:19 +00:00
mycroft
71ebbb8000 Return the full group count when it exceeds the maximum. Also DTRT if the
maximum is 0 (possibly used to size the list for memory allocation, rather
than core dumping).
1999-04-05 18:52:28 +00:00
lukem
3ebdcecd65 don't use warn() in initgroups(); it's not documented to do that, and
if stderr isn't valid the caller may dump core.
from Giles Lean <giles@nemeton.com.au> in [lib/7273]
1999-03-31 12:19:32 +00:00