From ec6275c0b7df29a34fd3beb7e29bc44fd63b8585 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 10 Sep 1999 19:04:08 +0000 Subject: [PATCH] Update. 1999-09-10 Andreas Schwab * sysdeps/generic/getenv.c (getenv): Fix lookup for single character variable on bigendian platforms without unaligned memory access. --- ChangeLog | 6 ++++++ sysdeps/generic/getenv.c | 4 ++-- 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 + + * 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