mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
Update.
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.
This commit is contained in:
parent
b76e5a4e6b
commit
04166d6ee1
13
ChangeLog
13
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
|
||||
|
4
README
4
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
|
||||
|
23
include/bits/ipc.h
Normal file
23
include/bits/ipc.h
Normal file
@ -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
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user