diff --git a/ChangeLog b/ChangeLog index 69cabf6de9..1e9c13c351 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +1998-12-16 Andreas Schwab + + * sysdeps/posix/tempname.c (__path_search): Add casts for format + string. + +1998-12-16 Andreas Schwab + + * 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 * 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 + +__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 similarity index 100% rename from localedata/charmaps/NF_Z_62-010-1973 rename to 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"