diff --git a/ChangeLog b/ChangeLog index bb958c09ff..b44e29dbd8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1999-09-10 Andreas Schwab + + * sysdeps/generic/getenv.c (getenv): Fix lookup for single + character variable on bigendian platforms without unaligned memory + access. + 1999-09-07 Cristian Gafton * sysdeps/unix/sysv/linux/sys/raw.h: New file diff --git a/sysdeps/generic/getenv.c b/sysdeps/generic/getenv.c index 584b120bb7..e0586659b8 100644 --- a/sysdeps/generic/getenv.c +++ b/sysdeps/generic/getenv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1994, 1996, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 94, 96, 98, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -49,7 +49,7 @@ getenv (name) /* The name of the variable consists of only one character. Therefore the first two characters of the environment entry are this character and a '=' character. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if __BYTE_ORDER == __LITTLE_ENDIAN || !_STRING_ARCH_unaligned name_start = ('=' << 8) | *(const unsigned char *) name; #else # if __BYTE_ORDER == __BIG_ENDIAN