50 Commits

Author SHA1 Message Date
phantom
db7bc61c50 Bring in NetBSD's improvements and cleanups to NLS subsystem, making
it type and endian clean and removing of stdio dependency from NLS
functions (catalog files now are processed via mmap())

Also following changes were done (against NetBSD version):

. If mmap() failed, set errno to EINVAL and do not try to munmap() file

Obtained from:	NetBSD
2005-02-27 16:26:49 +00:00
phantom
e199e843c1 Cleanup prototypes and remove dead code
MFC After:      3 days
2005-02-01 16:04:55 +00:00
tjr
8366c4708a Remove incomplete support for running FreeBSD userland on old NetBSD kernels
lacking the issetugid() and utrace() syscalls.
2003-10-29 10:45:01 +00:00
nectar
0b64e1476b Back out the `hiding' of strlcpy and strlcat. Several people
vocally objected to this safety belt.
2003-05-01 19:03:14 +00:00
nectar
e69967f534 `Hide' strlcpy and strlcat (using the namespace.h / __weak_reference
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
2003-04-29 21:13:50 +00:00
wollman
f8a79b86e6 Do not include <sys/syslimits.h> directly; it is not intended for general
consumption.
2002-10-27 17:44:33 +00:00
ache
08eb533d34 Now, malloc is fixed, remove ENOMEM hardcode 2002-08-12 11:47:19 +00:00
ache
586a522666 Set errno to ENOMEM for strdup too (due to malloc errno bug) 2002-08-07 23:52:28 +00:00
ache
99fbabc1a4 Always set errno to ENOMEM after malloc failed (as workaround).
Our malloc sometimes forget to set errno, f.e. for size overflow case.
2002-08-07 22:03:46 +00:00
ache
fcb62c0916 Close descriptor, if error happens in loadCat() 2002-08-07 07:02:37 +00:00
ache
fe9a9d5bc5 Try harder to check lang as path component (".", "..", / inside).
Try harder to not overwrite failure errno.
style(9) whitespace reformatting for code readability.
2002-08-04 14:03:59 +00:00
obrien
d90536e35b Fix the style of the SCM ID's.
I believe have made all of libc .c's as consistent as possible.
2002-03-22 21:53:29 +00:00
ru
95ce4d2cdc Removed duplicate VCS ID tags, as per style(9). 2001-08-13 14:06:34 +00:00
deischen
1635c221b7 Remove _THREAD_SAFE and make libc thread-safe by default by
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
2001-01-24 13:01:12 +00:00
phantom
7413cf0b7c Fix typo
PR:		misc/21596
Submitted by:	TOGAWA Satoshi <toga@puyo.org>
2000-09-27 18:24:31 +00:00
ache
ddefbaa46b Prevent buffer overflow if NLSPATH is too long 2000-09-08 11:42:37 +00:00
ache
7925505886 Fully implement NLSPATH processing as described in SUSv2 2000-09-05 14:04:21 +00:00
phantom
5b566d9d01 Oops! don't set errno to ENOMEM explicitly if malloc() failed.
Found by:	ache
2000-09-05 12:23:08 +00:00
phantom
07bb417f8a Finaly cleanup libc/nls code:
* rewrite catopen() to remove duplicate code chunks and optimize
* if empty string is passed to catopen() as name argument then
   catopen() will set errno to ENOENT (File not found), not EINVAL
* move search code to LOOKUP() macro to shrink amount of duplicated code
* move common resource freeing actions to __nls_free_resources() function
* exclude from build code related to MCLoadAll defintion since it is not
  using at all
* style(9) related whitespace changes

Reviewed by:	ache
2000-09-04 12:09:40 +00:00
ache
bbd4badbd6 Rewrite using stdio. It cause program speedup since eliminates lots of small
read() syscalls.  It not cause static binary size increasing because stdio
already picked via setlocale() called from catopen()
2000-09-03 21:05:10 +00:00
ache
6d6923050a Treat empty lang as "C" lang too 2000-09-01 13:19:18 +00:00
phantom
5b3f190e28 Set rcsid to correct value
Resort #include files
Remove SYSV compatibility chunks
2000-09-01 12:19:00 +00:00
phantom
2ae932bdcb Remove unused indirect references to cat* functions. 2000-09-01 12:10:59 +00:00
phantom
3fd2030fc4 Fix memory leak introduced by kris in rev 1.22 2000-09-01 11:56:31 +00:00
ache
abfec47a85 setlocale may return NULL, handle this case too by resetting to "C" 2000-09-01 11:13:38 +00:00
ache
fea9bbdd85 Move protection code down to handle NL_CAT_LOCALE case too. 2000-09-01 11:09:34 +00:00
ache
c023c260fc Protect from badly formed LANG variable 2000-09-01 10:54:04 +00:00
ache
85d6a99272 catgets: detect if fd becomes invalid after exec and return default response
cosmetique, use NULL for pointers comparison
2000-08-30 11:44:44 +00:00
kris
04e6eba710 Prevent internal buffer overflow due to expansion of $LANG and/or name
argument in catopen().

Reviewed by:	chris, -audit
2000-08-05 04:56:43 +00:00
jasone
8abe2a2d86 Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(),
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
2000-01-27 23:07:25 +00:00
jasone
75903038bc Add three-tier symbol naming in support of POSIX thread cancellation
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().
2000-01-12 09:23:48 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
ache
3d028a61c9 Provide meaningful errno value on error return 1998-07-14 18:27:43 +00:00
ache
f4a8d4f4e4 Return -1 for invalid descriptor in catclose 1998-04-30 13:15:31 +00:00
ache
b2b5a3545a If passed catgets descriptor is NULL or -1, return default string immediately 1998-04-30 12:25:05 +00:00
ache
c21e828637 Force loadType to 0 1998-04-30 11:39:08 +00:00
ache
1eaf120df9 Implement NL_CAT_LOCALE
Manpages cleanup
1998-04-30 11:06:12 +00:00
ache
fe58d493e0 Prototypes/typedefs cleanup
Fix error return codes
1998-04-30 10:14:55 +00:00
jb
e400ec32db Add #ifndef __NETBSD_SYSCALLS around calls to issetugid() which
do not exist in NetBSD 1.3.
1998-01-15 09:58:08 +00:00
ache
fecb2556c8 Plug even more failure memory leaks 1997-05-10 04:40:40 +00:00
ache
d4628da608 Cleanup
Plug failure memory leaks
Use issetugid now
PR: 3492
1997-05-10 04:28:17 +00:00
imp
eb2ae16f67 Restricting $LANG was a really bad idea
Pointed out by: Everybody but Jordan.
1997-03-25 05:36:37 +00:00
imp
6b885ecb71 Don't honor LANG or NLSPATH if we're setuid/setgid.
Fixes PR 2582

Submitted by:	 Julian Assange
1997-03-24 06:15:07 +00:00
peter
6b08958c64 Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
jkh
c4d4a99d31 General -Wall warning cleanup, part I.
Submitted-By: Kent Vander Velden <graphix@iastate.edu>
1996-07-12 18:57:58 +00:00
phk
a11454ac32 and so on... 1995-10-22 14:39:22 +00:00
ache
4c49848733 Add /usr/local/share/nls to default search path 1995-06-17 03:02:21 +00:00
rgrimes
f05428e4cd Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
jkh
02ba73f737 Add the nls code for XPG3-style message catalogs to libc.
Obtained from: NetBSD
1995-03-30 12:47:27 +00:00