about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--README4
-rw-r--r--include/bits/ipc.h23
-rw-r--r--localedata/charmaps/NF_Z_62-010_1973 (renamed from localedata/charmaps/NF_Z_62-010-1973)0
-rw-r--r--sunrpc/rpc/xdr.h36
-rw-r--r--sysdeps/posix/tempname.c2
-rw-r--r--version.h2
7 files changed, 61 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 69cabf6de9..1e9c13c351 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+1998-12-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* sysdeps/posix/tempname.c (__path_search): Add casts for format
+	string.
+
+1998-12-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* sunrpc/rpc/xdr.h (XDR_DESTROY, xdr_destroy): Avoid dangling else
+	problem.
+	(IXDR_PUT_INT32): Fully parenthesize parameters.
+	(IXDR_GET_LONG, IXDR_PUT_LONG): Mark GCC extension.  Fully
+	parenthesize parameter.
+
 1998-12-16  Ulrich Drepper  <drepper@cygnus.com>
 
 	* iconvdata/gconv-modules: Add some of the charset name aliases
diff --git a/README b/README
index 18bedb4a5c..c56478b33a 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the version 2.0.107 test release of the GNU C Library.
+This directory contains the version 2.0.108 test release of the GNU C Library.
 Many bugs have been fixed since the last release.
 Some bugs surely remain.
 
@@ -53,7 +53,7 @@ provides the Unix `crypt' function, plus some other entry points.
 Because of the United States export restriction on DES implementations,
 we are distributing this code separately from the rest of the C
 library.  There is an extra distribution tar file just for crypt; it is
-called `glibc-crypt-2.0.107.tar.gz'.  You can just unpack the crypt
+called `glibc-crypt-2.0.108.tar.gz'.  You can just unpack the crypt
 distribution along with the rest of the C library and build; you can
 also build the library without getting crypt.  Users outside the USA
 can get the crypt distribution via anonymous FTP from ftp.ifi.uio.no
diff --git a/include/bits/ipc.h b/include/bits/ipc.h
new file mode 100644
index 0000000000..5f699e8f49
--- /dev/null
+++ b/include/bits/ipc.h
@@ -0,0 +1,23 @@
+#include_next <bits/ipc.h>
+
+__BEGIN_DECLS
+
+/* The actual system call: all functions are multiplexed by this.  */
+extern int __syscall_ipc __P ((int __call, int __first, int __second,
+			       int __third, void *__ptr));
+
+__END_DECLS
+
+
+/* The codes for the functions to use the multiplexer `__syscall_ipc'.  */
+#define IPCOP_semop	 1
+#define IPCOP_semget	 2
+#define IPCOP_semctl	 3
+#define IPCOP_msgsnd	11
+#define IPCOP_msgrcv	12
+#define IPCOP_msgget	13
+#define IPCOP_msgctl	14
+#define IPCOP_shmat	21
+#define IPCOP_shmdt	22
+#define IPCOP_shmget	23
+#define IPCOP_shmctl	24
diff --git a/localedata/charmaps/NF_Z_62-010-1973 b/localedata/charmaps/NF_Z_62-010_1973
index b853d9e3d6..b853d9e3d6 100644
--- a/localedata/charmaps/NF_Z_62-010-1973
+++ b/localedata/charmaps/NF_Z_62-010_1973
diff --git a/sunrpc/rpc/xdr.h b/sunrpc/rpc/xdr.h
index e1657c73e3..a4c2747ad5 100644
--- a/sunrpc/rpc/xdr.h
+++ b/sunrpc/rpc/xdr.h
@@ -209,12 +209,16 @@ typedef bool_t (*xdrproc_t) __PMT ((XDR *, void *,...));
 #define	xdr_inline(xdrs, len)				\
 	(*(xdrs)->x_ops->x_inline)(xdrs, len)
 
-#define	XDR_DESTROY(xdrs)				\
-	if ((xdrs)->x_ops->x_destroy) 			\
-		(*(xdrs)->x_ops->x_destroy)(xdrs)
-#define	xdr_destroy(xdrs)				\
-	if ((xdrs)->x_ops->x_destroy) 			\
-		(*(xdrs)->x_ops->x_destroy)(xdrs)
+#define	XDR_DESTROY(xdrs)					\
+	do {							\
+		if ((xdrs)->x_ops->x_destroy)			\
+			(*(xdrs)->x_ops->x_destroy)(xdrs)	\
+	} while (0)
+#define	xdr_destroy(xdrs)					\
+	do {							\
+		if ((xdrs)->x_ops->x_destroy)			\
+			(*(xdrs)->x_ops->x_destroy)(xdrs)	\
+	} while (0)
 
 /*
  * Support struct for discriminated unions.
@@ -250,18 +254,20 @@ struct xdr_discrim
  */
 
 #define IXDR_GET_INT32(buf)           ((int32_t)ntohl((uint32_t)*(buf)++))
-#define IXDR_PUT_INT32(buf, v)        (*(buf)++ = (int32_t)htonl((uint32_t)v))
+#define IXDR_PUT_INT32(buf, v)        (*(buf)++ = (int32_t)htonl((uint32_t)(v)))
 #define IXDR_GET_U_INT32(buf)         ((uint32_t)IXDR_GET_INT32(buf))
-#define IXDR_PUT_U_INT32(buf, v)      IXDR_PUT_INT32((buf), ((int32_t)(v)))
+#define IXDR_PUT_U_INT32(buf, v)      IXDR_PUT_INT32(buf, (int32_t)(v))
 
 /* WARNING: The IXDR_*_LONG defines are removed by Sun for new platforms
  * and shouldn't be used any longer. Code which use this defines or longs
  * in the RPC code will not work on 64bit Solaris platforms !
  */
-#define IXDR_GET_LONG(buf)	      ((long)ntohl((u_long)*((u_int32_t*)buf)++))
-#define IXDR_PUT_LONG(buf, v)         (*((u_int32_t*)(buf))++ = (long)htonl((u_long)v))
+#define IXDR_GET_LONG(buf) \
+	((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++))
+#define IXDR_PUT_LONG(buf, v) \
+	(*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v)))
 #define IXDR_GET_U_LONG(buf)	      ((u_long)IXDR_GET_LONG(buf))
-#define IXDR_PUT_U_LONG(buf, v)	      IXDR_PUT_LONG((buf), ((long)(v)))
+#define IXDR_PUT_U_LONG(buf, v)	      IXDR_PUT_LONG(buf, (long)(v))
 
 
 #define IXDR_GET_BOOL(buf)            ((bool_t)IXDR_GET_LONG(buf))
@@ -269,10 +275,10 @@ struct xdr_discrim
 #define IXDR_GET_SHORT(buf)           ((short)IXDR_GET_LONG(buf))
 #define IXDR_GET_U_SHORT(buf)         ((u_short)IXDR_GET_LONG(buf))
 
-#define IXDR_PUT_BOOL(buf, v)         IXDR_PUT_LONG((buf), ((long)(v)))
-#define IXDR_PUT_ENUM(buf, v)         IXDR_PUT_LONG((buf), ((long)(v)))
-#define IXDR_PUT_SHORT(buf, v)        IXDR_PUT_LONG((buf), ((long)(v)))
-#define IXDR_PUT_U_SHORT(buf, v)      IXDR_PUT_LONG((buf), ((long)(v)))
+#define IXDR_PUT_BOOL(buf, v)         IXDR_PUT_LONG(buf, (long)(v))
+#define IXDR_PUT_ENUM(buf, v)         IXDR_PUT_LONG(buf, (long)(v))
+#define IXDR_PUT_SHORT(buf, v)        IXDR_PUT_LONG(buf, (long)(v))
+#define IXDR_PUT_U_SHORT(buf, v)      IXDR_PUT_LONG(buf, (long)(v))
 
 /*
  * These are the "generic" xdr routines.
diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c
index 7437a8a420..ed6db1a135 100644
--- a/sysdeps/posix/tempname.c
+++ b/sysdeps/posix/tempname.c
@@ -95,7 +95,7 @@ __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
       return -1;
     }
 
-  sprintf (tmpl, "%.*s/%.*sXXXXXX", dlen, dir, plen, pfx);
+  sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx);
   return 0;
 }
 
diff --git a/version.h b/version.h
index 76d94a03cb..16e84362a7 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
 #define RELEASE "experimental"
-#define VERSION "2.0.107"
+#define VERSION "2.0.108"