about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--locale/weight.h7
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index f92b0b8bef..02085ad40c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,13 @@
+1999-08-17  Ulrich Drepper  <drepper@cygnus.com>
+
+	* locale/weight.h: Set errno if an invalid character is found.
+
 1999-08-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
 	* math/libm-test.c (erfc_test): Add test for example from PR
 	libc/1259.
 	(erf_test): Likewise.
-			
+
 1999-08-17  Ulrich Drepper  <drepper@cygnus.com>
 
 	* sysdeps/ieee754/dbl-64/s_erf.c: Correct type in performance increase
diff --git a/locale/weight.h b/locale/weight.h
index 9a1911bd7a..fed84244bd 100644
--- a/locale/weight.h
+++ b/locale/weight.h
@@ -1,6 +1,6 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
+   Written by Ulrich Drepper, <drepper@cygnus.com>.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -107,6 +107,9 @@ get_weight (const STRING_TYPE **str, weight_t *result,
 		  result->data[cnt].value = &__collate_extra[idx];
 		  idx += result->data[cnt].number;
 		}
+	      /* The Unix standard requires that a character outside
+		 the domain is signalled by setting `errno'.  */
+	      __set_errno (EINVAL);
 	      return;
 	    }
 	  slot += level_size;