aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-09-10 19:04:08 +0000
committerUlrich Drepper <drepper@redhat.com>1999-09-10 19:04:08 +0000
commitec6275c0b7df29a34fd3beb7e29bc44fd63b8585 (patch)
treeae92001818381dea04d4ef7a36e3c1f6ecb9f7cf
parent766d2fcacd7da42b69de42ab2831e1b2934620a1 (diff)
downloadglibc-ec6275c0b7df29a34fd3beb7e29bc44fd63b8585.tar
glibc-ec6275c0b7df29a34fd3beb7e29bc44fd63b8585.tar.gz
glibc-ec6275c0b7df29a34fd3beb7e29bc44fd63b8585.tar.bz2
glibc-ec6275c0b7df29a34fd3beb7e29bc44fd63b8585.zip
Update.
1999-09-10 Andreas Schwab <schwab@suse.de> * sysdeps/generic/getenv.c (getenv): Fix lookup for single character variable on bigendian platforms without unaligned memory access.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/generic/getenv.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index bb958c09ff..b44e29dbd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1999-09-10 Andreas Schwab <schwab@suse.de>
+
+ * sysdeps/generic/getenv.c (getenv): Fix lookup for single
+ character variable on bigendian platforms without unaligned memory
+ access.
+
1999-09-07 Cristian Gafton <gafton@redhat.com>
* 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