On big endian platforms with type long >32bit the range option applied a bad base address

This commit is contained in:
Gerhard Rieger 2014-02-15 15:57:40 +01:00
parent 0fad8877fd
commit bf17d38dab
2 changed files with 5 additions and 2 deletions

View File

@ -27,6 +27,9 @@ corrections:
Changed some variable definitions to make gcc -O2 aliasing checker happy
Thanks to Ilya Gordeev for reporting these warnings
On big endian platforms with type long >32bit the range option applied a
bad base address. Thanks to hejia hejia for reporting and fixing this bug.
porting:
Performed changes for Fedora release 19

View File

@ -1,5 +1,5 @@
/* source: xio-ip4.c */
/* Copyright Gerhard Rieger 2001-2008 */
/* Copyright Gerhard Rieger */
/* Published under the GNU General Public License V.2, see file COPYING */
/* this file contains the source for IP4 related functions */
@ -55,7 +55,7 @@ int xioparsenetwork_ip4(const char *rangename, struct xiorange *range) {
free(rangename1);
return STAT_NORETRY;
}
netaddr_in->s_addr = *(unsigned long *)nameaddr->h_addr_list[0];
netaddr_in->s_addr = *(uint32_t *)nameaddr->h_addr_list[0];
}
free(rangename1);
return STAT_OK;