summary refs log tree commit diff
path: root/string
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1996-08-07 23:50:59 +0000
committerUlrich Drepper <drepper@redhat.com>1996-08-07 23:50:59 +0000
commit233963756b2ef272f8876afec2a2bb629b425e0c (patch)
tree69b27a7182cd444f37d08d08a9f64f957cc64ef9 /string
parent80776ab80da30197fe7eb34d46f12b397b8ce1d4 (diff)
downloadglibc-233963756b2ef272f8876afec2a2bb629b425e0c.tar.gz
glibc-233963756b2ef272f8876afec2a2bb629b425e0c.tar.xz
glibc-233963756b2ef272f8876afec2a2bb629b425e0c.zip
Thu Aug  8 01:41:43 1996  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile: Undo change of Tue Aug  6 14:27:11 1996.
	* elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'.

Thu Aug  8 01:15:59 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set
	to 0x137f to allow long double operations.

Sun Aug  4 13:12:05 1996  Richard Henderson  <rth@tamu.edu>

	Bug Fixes:

	* nss/nsswitch.c (_res): Remove redundant variable definition.
	The real one is in resolve/res_init.c, and having both prevents
	using -fno-common when building the shared library.
	* sunrpc/rpc_prot.c (_null_auth): Same.  Original is in rpc_common.c.

	* sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as
	a .bss object not a COMMON symbol.

	* sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load
	$gp before referencing __sigsetjmp symbol.  Retain LITUSE for same.

	Optimizations:

	* sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the
	main loop for better dual-issue on EV5.  Rearrange binary search to
	pipeline better and trim one instruction.

	Cosmetic Changes:

	* time/localtime.c (localtime_r): Move lock declaration back next to
	the comment where it was before the 960724 change.

	* INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux.
	The second word is supposed to be the hardware manufacturer.

	* sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount.
	* sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux.

	* sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount.

	* sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S,
	sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S:
	Same cleanups as with EV4 GMP stuff.

Tue Jul 25 03:30:56 1996  Richard Henderson  <rth@tamu.edu>

	* sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone.
	* sysdeps/unix/sysv/linux/alpha/clone.S: New file.
	* sysdeps/unix/sysv/linux/i386/clone.S: New file.

Sun Aug  4 00:12:41 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as
	`unsigned long'.

	* misc/sys/select.h: Declare fd_mask as alias of __fd_mask.

Sat Aug  3 16:20:02 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for
 	Mikasa.

	* socket/sys/socket.h (send, __send, sendto): Declare buffer
 	pointer as __const.

	* string/tester.c (main): Test stpncpy.

	* sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without
 	segfault when called with an N that is not a multiple of four and
 	src[N-1]=='\0'.

	* misc/syslog.c (LogType): New variable.
	(openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE,
 	try again with SOCK_STREAM (the Linux syslogd uses a socket of the
 	latter type).
	(vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL
 	terminator as a record-delimiter.  If __send(LogFile) fails,
	call closelog() so logfile gets re-opened next time.

Wed Aug  7 15:15:14 1996  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-open (_dl_open): Add cast to avoid warning.

	* manual/memory.texi: Improve some examples to give readers better
	advice: Use `stpcpy' instead of `strcat' if possible.
	* manual/string.texi: Document `strtok_r' and `strtok'.

	* sunrpc/Makefile: Move `+gccwarn' definition before inclusion
	of Makeconfig.
	[$(cross-compiling)=no]: Change test before making librpcsvc
	to this from $(cross-compile).
	Reported by Andreas Schwab.

Tue Aug  6 14:27:11 1996  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Makefile (routines): Move dl-sysdep to here...
	(rtld-routines): ...from here.  This should make static linking
	work again.

	* locale/setlocale.c: Add local variable `lock' and add code to
	`setlocale' to avoid simultaneous changing of global data.

	* catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'.
	* catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open',
	`__fstat', `__read', `__mmap', `__munmap' and `__close' instead
	of unprotected names.
Diffstat (limited to 'string')
-rw-r--r--string/argz.h78
-rw-r--r--string/envz.h26
2 files changed, 53 insertions, 51 deletions
diff --git a/string/argz.h b/string/argz.h
index 924dd46019..d9314e6bef 100644
--- a/string/argz.h
+++ b/string/argz.h
@@ -1,7 +1,5 @@
 /* Routines for dealing with '\0' separated arg vectors.
-
    Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-
    Written by Miles Bader <miles@gnu.ai.mit.edu>
 
    This program is free software; you can redistribute it and/or
@@ -19,8 +17,8 @@
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
 
 #ifndef __ARGZ_H__
-#define __ARGZ_H__	1
 
+#define __ARGZ_H__	1
 #include <features.h>
 
 #include <errno.h>		/* Define error_t.  */
@@ -32,47 +30,51 @@ __BEGIN_DECLS
 /* Make a '\0' separated arg vector from a unix argv vector, returning it in
    ARGZ, and the total length in LEN.  If a memory allocation error occurs,
    ENOMEM is returned, otherwise 0.  The result can be destroyed using free. */
-error_t __argz_create __P ((char *const argv[], char **argz, size_t *len));
-error_t argz_create __P ((char *const argv[], char **argz, size_t *len));
+extern error_t __argz_create __P ((char *const __argv[], char **__argz,
+				   size_t *__len));
+extern error_t argz_create __P ((char *const __argv[], char **__argz,
+				 size_t *__len));
 
 /* Make a '\0' separated arg vector from a SEP separated list in
    STRING, returning it in ARGZ, and the total length in LEN.  If a
    memory allocation error occurs, ENOMEM is returned, otherwise 0.
    The result can be destroyed using free.  */
-error_t __argz_create_sep __P ((__const char *string, int sep,
-				char **argz, size_t *len));
-error_t argz_create_sep __P ((__const char *string, int sep,
-			      char **argz, size_t *len));
+extern error_t __argz_create_sep __P ((__const char *__string, int __sep,
+				       char **__argz, size_t *__len));
+extern error_t argz_create_sep __P ((__const char *__string, int __sep,
+				     char **__argz, size_t *__len));
 
 /* Returns the number of strings in ARGZ.  */
-size_t __argz_count __P ((__const char *argz, size_t len));
-size_t argz_count __P ((__const char *argz, size_t len));
+extern size_t __argz_count __P ((__const char *__argz, size_t __len));
+extern size_t argz_count __P ((__const char *__argz, size_t __len));
 
 /* Puts pointers to each string in ARGZ into ARGV, which must be large enough
    to hold them all.  */
-void __argz_extract __P ((char *argz, size_t len, char **argv));
-void argz_extract __P ((char *argz, size_t len, char **argv));
+extern void __argz_extract __P ((char *__argz, size_t __len, char **__argv));
+extern void argz_extract __P ((char *__argz, size_t __len, char **__argv));
 
 /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
    except the last into the character SEP.  */
-void __argz_stringify __P ((char *argz, size_t len, int sep));
-void argz_stringify __P ((char *argz, size_t len, int sep));
+extern void __argz_stringify __P ((char *__argz, size_t __len, int __sep));
+extern void argz_stringify __P ((char *__argz, size_t __len, int __sep));
 
 /* Append BUF, of length BUF_LEN to the argz vector in ARGZ & ARGZ_LEN.  */
-error_t __argz_append __P ((char **argz, size_t *argz_len,
-			    __const char *buf, size_t buf_len));
-error_t argz_append __P ((char **argz, size_t *argz_len,
-			  __const char *buf, size_t buf_len));
+extern error_t __argz_append __P ((char **__argz, size_t *__argz_len,
+				   __const char *__buf, size_t _buf_len));
+extern error_t argz_append __P ((char **__argz, size_t *__argz_len,
+				 __const char *__buf, size_t __buf_len));
 
 /* Append STR to the argz vector in ARGZ & ARGZ_LEN.  */
-error_t __argz_add __P ((char **argz, size_t *argz_len,
-			 __const char *str));
-error_t argz_add __P ((char **argz, size_t *argz_len,
-		       __const char *str));
+extern error_t __argz_add __P ((char **__argz, size_t *__argz_len,
+				__const char *__str));
+extern error_t argz_add __P ((char **__argz, size_t *__argz_len,
+			      __const char *__str));
 
 /* Delete ENTRY from ARGZ & ARGZ_LEN, if it appears there.  */
-void __argz_delete __P ((char **argz, size_t *argz_len, char *entry));
-void argz_delete __P ((char **argz, size_t *argz_len, char *entry));
+extern void __argz_delete __P ((char **__argz, size_t *__argz_len,
+				char *__entry));
+extern void argz_delete __P ((char **__argz, size_t *__argz_len,
+			      char *__entry));
 
 /* Insert ENTRY into ARGZ & ARGZ_LEN before BEFORE, which should be an
    existing entry in ARGZ; if BEFORE is NULL, ENTRY is appended to the end.
@@ -80,10 +82,10 @@ void argz_delete __P ((char **argz, size_t *argz_len, char *entry));
    ARGZ, ENTRY) will insert ENTRY at the beginning of ARGZ.  If BEFORE is not
    in ARGZ, EINVAL is returned, else if memory can't be allocated for the new
    ARGZ, ENOMEM is returned, else 0.  */
-error_t __argz_insert __P ((char **argz, size_t *argz_len,
-			    char *before, __const char *entry));
-error_t argz_insert __P ((char **argz, size_t *argz_len,
-			  char *before, __const char *entry));
+extern error_t __argz_insert __P ((char **__argz, size_t *__argz_len,
+				   char *__before, __const char *__entry));
+extern error_t argz_insert __P ((char **__argz, size_t *__argz_len,
+				 char *__before, __const char *__entry));
 
 /* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there
    are no more.  If entry is NULL, then the first entry is returned.  This
@@ -106,25 +108,25 @@ extern char *argz_next __P ((char *argz, size_t __argz_len,
 
 #if defined (__OPTIMIZE__) && __GNUC__ >= 2
 extern inline char *
-__argz_next (char *argz, size_t argz_len, const char *entry)
+__argz_next (char *__argz, size_t __argz_len, const char *__entry)
 {
-  if (entry)
+  if (__entry)
     {
-      if (entry < argz + argz_len)
-	entry = strchr (entry, '\0') + 1;
+      if (__entry < __argz + __argz_len)
+	__entry = strchr (__entry, '\0') + 1;
 
-      return entry >= argz + argz_len ? NULL : (char *) entry;
+      return __entry >= __argz + __argz_len ? NULL : (char *) __entry;
     }
   else
-    if (argz_len > 0)
-      return argz;
+    if (__argz_len > 0)
+      return __argz;
     else
       return 0;
 }
 extern inline char *
-argz_next (char *argz, size_t argz_len, const char *entry)
+argz_next (char *__argz, size_t __argz_len, const char *__entry)
 {
-  return __argz_next (argz, argz_len, entry);
+  return __argz_next (__argz, __argz_len, __entry);
 }
 #endif /* optimizing GCC2 */
 
diff --git a/string/envz.h b/string/envz.h
index fd8865711d..dfd5e8aeb6 100644
--- a/string/envz.h
+++ b/string/envz.h
@@ -1,7 +1,5 @@
 /* Routines for dealing with '\0' separated environment vectors
-
    Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-
    Written by Miles Bader <miles@gnu.ai.mit.edu>
 
    This program is free software; you can redistribute it and/or
@@ -19,7 +17,9 @@
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
 
 #ifndef __ENVZ_H__
-#define __ENVZ_H__
+
+#define __ENVZ_H__	1
+#include <features.h>
 
 #include <errno.h>
 
@@ -28,13 +28,13 @@
 #include <argz.h>
 
 /* Returns a pointer to the entry in ENVZ for NAME, or 0 if there is none.  */
-char *envz_entry __P ((__const char *__envz, size_t __envz_len,
-		       __const char *__name));
+extern char *envz_entry __P ((__const char *__envz, size_t __envz_len,
+			      __const char *__name));
 
 /* Returns a pointer to the value portion of the entry in ENVZ for NAME, or 0
    if there is none.  */
-char *envz_get __P ((__const char *__envz, size_t __envz_len,
-		     __const char *__name));
+extern char *envz_get __P ((__const char *__envz, size_t __envz_len,
+			    __const char *__name));
 
 /* Adds an entry for NAME with value VALUE to ENVZ & ENVZ_LEN.  If an entry
    with the same name already exists in ENVZ, it is removed.  If VALUE is
@@ -42,17 +42,17 @@ char *envz_get __P ((__const char *__envz, size_t __envz_len,
    return NULL, although envz_entry will still return an entry; this is handy
    because when merging with another envz, the null entry can override an
    entry in the other one.  Null entries can be removed with envz_strip ().  */
-error_t envz_add __P ((char **__envz, size_t *__envz_len,
-		       __const char *__name, __const char *__value));
+extern error_t envz_add __P ((char **__envz, size_t *__envz_len,
+			      __const char *__name, __const char *__value));
 
 /* Adds each entry in ENVZ2 to ENVZ & ENVZ_LEN, as if with envz_add().  If
    OVERRIDE is true, then values in ENVZ2 will supercede those with the same
    name in ENV, otherwise not.  */
-error_t envz_merge __P ((char **__envz, size_t *__envz_len,
-			 __const char *__envz2, size_t __envz2_len,
-			 int __override));
+extern error_t envz_merge __P ((char **__envz, size_t *__envz_len,
+				__const char *__envz2, size_t __envz2_len,
+				int __override));
 
 /* Remove null entries.  */
-void envz_strip __P ((char **__envz, size_t *__envz_len));
+extern void envz_strip __P ((char **__envz, size_t *__envz_len));
 
 #endif /* __ENVZ_H__ */