* sunrpc/xdr_stdio.c (xdrstdio_getlong, xdrstdio_putlong):

Convert correctly between long/int on 64bit big-endian.
This commit is contained in:
Ulrich Drepper 2005-03-22 09:14:36 +00:00
parent 0ab1b506f7
commit 12c879f8bf
4 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2005-03-21 Thorsten Kukuk <kukuk@suse.de>
* sunrpc/xdr_stdio.c (xdrstdio_getlong, xdrstdio_putlong):
Convert correctly between long/int on 64bit big-endian.
2005-03-21 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/_mcount.S: Newer kernels don't like register-frames

View File

@ -1,3 +1,7 @@
2005-03-21 Jakub Jelinek <jakub@redhat.com>
* charmaps/WINDOWS-31J: Add % before alias keyword.
2005-02-27 Denis Barbier <barbier@debian.org>
[BZ #38]

View File

@ -8,7 +8,7 @@
% MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>, 2003.
% Last changed: 2003-07-18
alias CP932
% alias CP932
CHARMAP
<U0000> /x00 NULL

View File

@ -108,20 +108,20 @@ xdrstdio_destroy (XDR *xdrs)
static bool_t
xdrstdio_getlong (XDR *xdrs, long *lp)
{
int32_t mycopy;
u_int32_t mycopy;
if (fread ((caddr_t) & mycopy, 4, 1, (FILE *) xdrs->x_private) != 1)
if (fread ((caddr_t) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1)
return FALSE;
*lp = (int32_t) ntohl (mycopy);
*lp = (long) ntohl (mycopy);
return TRUE;
}
static bool_t
xdrstdio_putlong (XDR *xdrs, const long *lp)
{
long mycopy = htonl (*lp);
lp = &mycopy;
if (fwrite ((caddr_t) lp, 4, 1, (FILE *) xdrs->x_private) != 1)
int32_t mycopy = htonl ((u_int32_t) *lp);
if (fwrite ((caddr_t) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1)
return FALSE;
return TRUE;
}