about summary refs log tree commit diff
path: root/locale/programs/ld-time.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-02-16 17:42:46 +0000
committerUlrich Drepper <drepper@redhat.com>1998-02-16 17:42:46 +0000
commit880f421fc30003d1626429e8796d43b91d71cab9 (patch)
treedd3aff8b9397dd9177ed24a32d4e6fd2f841ebdd /locale/programs/ld-time.c
parentf565518e7e393419f99457792971ce71215d02cc (diff)
downloadglibc-880f421fc30003d1626429e8796d43b91d71cab9.tar.gz
glibc-880f421fc30003d1626429e8796d43b91d71cab9.tar.xz
glibc-880f421fc30003d1626429e8796d43b91d71cab9.zip
Update.
1998-02-16 17:33  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c (dl_main): Recognize --library-path parameter and
	pass value (or NULL) to _dl_init_paths.
	* elf/dl-load.c (_dl_init_paths): Change to take one parameter,
	replacing local variable llp.  If llp is NULL examine LD_LIBRARY_PATH
	environment variable.
	* elf/link.h: Change prototype for _dl_init_paths.
	* elf/dl-support.c: Pass NULL in _dl_init_paths call.

	* localedata/Makefile (distribute): Add test files.

1998-02-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* localedata/tests/{test1.cm, test2.cm, test3.cm, test4.cm,
	test1.def, test2.def, test3.def, test4.def}: Simple input files
	for localedef. Contributed by Yung-Ching Hsiao
	<yhsiao@cae.wisc.edu>.

	* localedata/Makefile (tests): Call tst-locale.sh.

	* localedata/tst-locale.sh: New file, regression tests for some
	localedef problems.

1998-02-15  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nss_nisplus/nisplus-alias.c: Use __stpncpy.

	* nis/nss_nisplus/nisplus-hosts.c: Make sure buffer is always NUL
	terminated.
	* nis/nss_nisplus/nisplus-network.c: Likewise.
	* nis/nss_nisplus/nisplus-proto.c: Likewise.
	* nis/nss_nisplus/nisplus-rpc.c: Likewise.
	* nis/nss_nisplus/nisplus-service.c: Likewise.

	Add more changes from TI-RPC 2.3 for rpcgen to fix include/C++ bug
	and support generating thread safe RPC code.
	* sunrpc/rpc_main.c: Add changes.
	* sunrpc/rpc_clntout.c: Likewise.
	* sunrpc/rpc_cout.c: Likewise.
	* sunrpc/rpc_hout.c: Likewise.
	* sunrpc/rpc_parse.c: Likewise.
	* sunrpc/rpc_sample.c: Likewise.
	* sunrpc/rpc_scan.c: Likewise.
	* sunrpc/rpc_svcout.c: Likewise.
	* sunrpc/rpc_util.c: Likewise.
	* sunrpc/rpc_util.h: Add new structs and prototypes.
	* sunrpc/proto.h: Remove prototypes for static functions.

1998-02-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/programs/ld-messages.c (messages_finish): Don't skip
	error checking when being quiet.
	* locale/programs/ld-ctype.c (ctype_finish): Likewise.
	(set_class_defaults): Likewise.
	* locale/programs/charmap.c (parse_charmap): Likewise.
	* locale/programs/ld-collate.c (collate_finish): Likewise.
	* locale/programs/ld-monetary.c (monetary_finish): Likewise.
	* locale/programs/ld-time.c (time_finish): Likewise.
	* locale/programs/locfile.c (write_locale_data): Likewise.

	* locale/programs/ld-ctype.c (ctype_class_to): Silently ignore
	unknown characters and empty ranges.
	* locale/programs/ld-collate.c (collate_order_elem): When
	processing an ellipsis properly form a linked list in the result
	table, fix typo when allocating ordering array.
	[PR libc/419]

1998-02-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/Makefile (ld-map): Define.
	(rtld-ldscript): Define.  Change all `$(objpfx)rtld-ldscript' to
	`$(rtld-ldscript)'.
	($(objpfx)ld.so): Combine the two versions of this rule.  Depend
	on $(ld-map).
	(rtld-link): Combine the two versions of this definition.  Fixed
	to make it work when no symbol versioning is used.

1998-02-16  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig (build-program-cmd): Use --library-path parameter to
	ld.so instead of environment variable.

	* sunrpc/Makefile (rpcgen-cmd): Don't use -$ parameter.
	* sunrpc/rpc_main.c: Remove support for -$$ option again.

1998-02-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* Make-dist: Respect with-cvs setting.
	* MakeTAGS (all-pot): Likewise.
	* sysdeps/sparc/sparc32/Makefile: Likewise.
	* sysdeps/mach/hurd/Makefile: Likewise.
	* stdlib/Makefile: Likewise.
	* posix/Makefile: Likewise.
	* intl/Makefile: Likewise.
	* po/Makefile (linguas): Likewise
Diffstat (limited to 'locale/programs/ld-time.c')
-rw-r--r--locale/programs/ld-time.c96
1 files changed, 54 insertions, 42 deletions
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
index 60c54deb3a..e16a247430 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
@@ -37,8 +37,8 @@
   (((w) << 24) | (((w) & 0xff00) << 8) | (((w) >> 8) & 0xff00) | ((w) >> 24))
 
 
-void *xmalloc (size_t __n);
-void *xrealloc (void *__p, size_t __n);
+extern void *xmalloc (size_t __n);
+extern void *xrealloc (void *__p, size_t __n);
 
 
 /* Entry describing an entry of the era specification.  */
@@ -154,21 +154,23 @@ time_finish (struct localedef_t *locale)
 	  memcpy (str, time->era[idx], era_len + 1);
 
 	  /* First character must be + or - for the direction.  */
-	  if (*str != '+' && *str != '-' && !be_quiet)
+	  if (*str != '+' && *str != '-')
 	    {
-	      error (0, 0, _("direction flag in string %d in `era' field"
-			     " in category `%s' is not '+' nor '-'"),
-		     idx + 1, "LC_TIME");
+	      if (!be_quiet)
+		error (0, 0, _("direction flag in string %d in `era' field"
+			       " in category `%s' is not '+' nor '-'"),
+		       idx + 1, "LC_TIME");
 	      /* Default arbitrarily to '+'.  */
 	      time->era_entries[idx].direction = '+';
 	    }
 	  else
 	    time->era_entries[idx].direction = *str;
-	  if (*++str != ':' && !be_quiet)
+	  if (*++str != ':')
 	    {
-	      error (0, 0, _("direction flag in string %d in `era' field"
-			     " in category `%s' is not a single character"),
-		     idx + 1, "LC_TIME");
+	      if (!be_quiet)
+		error (0, 0, _("direction flag in string %d in `era' field"
+			       " in category `%s' is not a single character"),
+		       idx + 1, "LC_TIME");
 	      (void) strsep (&str, ":");
 	    }
 	  else
@@ -176,18 +178,20 @@ time_finish (struct localedef_t *locale)
 
 	  /* Now the offset year.  */
 	  time->era_entries[idx].offset = strtol (str, &endp, 10);
-	  if (endp == str && !be_quiet)
+	  if (endp == str)
 	    {
-	      error (0, 0, _("illegal number for offset in string %d in"
-			     " `era' field in category `%s'"),
-		     idx + 1, "LC_TIME");
+	      if (!be_quiet)
+		error (0, 0, _("illegal number for offset in string %d in"
+			       " `era' field in category `%s'"),
+		       idx + 1, "LC_TIME");
 	      (void) strsep (&str, ":");
 	    }
-	  else if (*endp != ':' && !be_quiet)
+	  else if (*endp != ':')
 	    {
-	      error (0, 0, _("garbage at end of offset value in string %d in"
-			     " `era' field in category `%s'"),
-		     idx + 1, "LC_TIME");
+	      if (!be_quiet)
+		error (0, 0, _("garbage at end of offset value in string %d in"
+			       " `era' field in category `%s'"),
+		       idx + 1, "LC_TIME");
 	      (void) strsep (&str, ":");
 	    }
 	  else
@@ -229,20 +233,23 @@ time_finish (struct localedef_t *locale)
 	      time->era_entries[idx].start_date[1] -= 1;
 
 	      time->era_entries[idx].start_date[2] = strtol (str, &endp, 10);
-	      if (endp == str && !be_quiet)
+	      if (endp == str)
 		{
 		invalid_start_date:
-		  error (0, 0, _("illegal starting date in string %d in"
-				 " `era' field in category `%s'"),
-			 idx + 1, "LC_TIME");
+		  if (!be_quiet)
+		    error (0, 0, _("illegal starting date in string %d in"
+				   " `era' field in category `%s'"),
+			   idx + 1, "LC_TIME");
 		  (void) strsep (&str, ":");
 		}
-	      else if (*endp != ':' && !be_quiet)
+	      else if (*endp != ':')
 		{
 		garbage_start_date:
-		  error (0, 0, _("garbage at end of starting date in string %d"
-				 " in `era' field in category `%s'"),
-			 idx + 1, "LC_TIME");
+		  if (!be_quiet)
+		    error (0, 0, _("garbage at end of starting date "
+				   "in string %d in `era' field "
+				   "in category `%s'"),
+			   idx + 1, "LC_TIME");
 		  (void) strsep (&str, ":");
 		}
 	      else
@@ -302,20 +309,23 @@ time_finish (struct localedef_t *locale)
 	      time->era_entries[idx].stop_date[1] -= 1;
 
 	      time->era_entries[idx].stop_date[2] = strtol (str, &endp, 10);
-	      if (endp == str && !be_quiet)
+	      if (endp == str)
 		{
 		invalid_stop_date:
-		  error (0, 0, _("illegal stopping date in string %d in"
-				 " `era' field in category `%s'"),
-			 idx + 1, "LC_TIME");
+		  if (!be_quiet)
+		    error (0, 0, _("illegal stopping date in string %d in"
+				   " `era' field in category `%s'"),
+			   idx + 1, "LC_TIME");
 		  (void) strsep (&str, ":");
 		}
-	      else if (*endp != ':' && !be_quiet)
+	      else if (*endp != ':')
 		{
 		garbage_stop_date:
-		  error (0, 0, _("garbage at end of stopping date in string %d"
-				 " in `era' field in category `%s'"),
-			 idx + 1, "LC_TIME");
+		  if (!be_quiet)
+		    error (0, 0, _("garbage at end of stopping date "
+				   "in string %d in `era' field "
+				   "in category `%s'"),
+			   idx + 1, "LC_TIME");
 		  (void) strsep (&str, ":");
 		}
 	      else
@@ -339,10 +349,11 @@ time_finish (struct localedef_t *locale)
 		}
 	    }
 
-	  if ((str == NULL || *str == '\0') && !be_quiet)
+	  if (str == NULL || *str == '\0')
 	    {
-	      error (0, 0, _("missing era name in string %d in `era' field"
-			     " in category `%s'"), idx + 1, "LC_TIME");
+	      if (!be_quiet)
+		error (0, 0, _("missing era name in string %d in `era' field"
+			       " in category `%s'"), idx + 1, "LC_TIME");
 	      time->era_entries[idx].name =
 		time->era_entries[idx].format = "";
 	    }
@@ -350,11 +361,12 @@ time_finish (struct localedef_t *locale)
 	    {
 	      time->era_entries[idx].name = strsep (&str, ":");
 
-	      if ((str == NULL || *str == '\0') && !be_quiet)
+	      if (str == NULL || *str == '\0')
 		{
-		  error (0, 0, _("missing era format in string %d in `era'"
-				 " field in category `%s'"),
-			 idx + 1, "LC_TIME");
+		  if (!be_quiet)
+		    error (0, 0, _("missing era format in string %d in `era'"
+				   " field in category `%s'"),
+			   idx + 1, "LC_TIME");
 		  time->era_entries[idx].name =
 		    time->era_entries[idx].format = "";
 		}