summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--iconv/iconv_prog.c7
-rw-r--r--locale/locale.h18
-rw-r--r--locale/localeconv.c8
4 files changed, 33 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 56661974bc..9c6f1cd1ac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,14 @@
 2000-05-21  Ulrich Drepper  <drepper@redhat.com>
 
+	* locale/locale.h (struct lconv): Add new elements from ISO C99.
+	* locale/localeconv.c: Initialize new elements from ISO C99.
+
 	* iconv/iconv.h (iconv): Remove const from inbuf parameter.
 	* iconv/iconv.c: Likewise.
 	* conform/data/iconv.h-data: Likewise.
+	* iconv/iconv_prog.c (process_block): Remove const from second
+	parameter.
+	(main): Remove const from addr definition.
 
 	* intl/dcigettext.c: Fix typo in comment.
 
diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c
index 9ad6033787..1ac23e019c 100644
--- a/iconv/iconv_prog.c
+++ b/iconv/iconv_prog.c
@@ -98,8 +98,7 @@ static int verbose;
 static int list;
 
 /* Prototypes for the functions doing the actual work.  */
-static int process_block (iconv_t cd, const char *addr, size_t len,
-			  FILE *output);
+static int process_block (iconv_t cd, char *addr, size_t len, FILE *output);
 static int process_fd (iconv_t cd, int fd, FILE *output);
 static int process_file (iconv_t cd, FILE *input, FILE *output);
 static void print_known_names (void) internal_function;
@@ -172,7 +171,7 @@ main (int argc, char *argv[])
     do
       {
 	struct stat st;
-	const char *addr;
+	char *addr;
 	int fd;
 
 
@@ -323,7 +322,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
 
 
 static int
-process_block (iconv_t cd, const char *addr, size_t len, FILE *output)
+process_block (iconv_t cd, char *addr, size_t len, FILE *output)
 {
 #define OUTBUF_SIZE	32768
   const char *start = addr;
diff --git a/locale/locale.h b/locale/locale.h
index 8942d28cad..768d2b6b98 100644
--- a/locale/locale.h
+++ b/locale/locale.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,95,96,97,98,99,2000 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
@@ -90,6 +90,22 @@ struct lconv
      4 The sign string immediately follows the currency_symbol.  */
   char p_sign_posn;
   char n_sign_posn;
+  /* 1 if int_curr_symbol precedes a positive value, 0 if succeeds.  */
+  char int_p_cs_precedes;
+  /* 1 iff a space separates int_curr_symbol from a positive value.  */
+  char int_p_sep_by_space;
+  /* 1 if int_curr_symbol precedes a negative value, 0 if succeeds.  */
+  char int_n_cs_precedes;
+  /* 1 iff a space separates int_curr_symbol from a negative value.  */
+  char int_n_sep_by_space;
+  /* Positive and negative sign positions:
+     0 Parentheses surround the quantity and int_curr_symbol.
+     1 The sign string precedes the quantity and int_curr_symbol.
+     2 The sign string follows the quantity and int_curr_symbol.
+     3 The sign string immediately precedes the int_curr_symbol.
+     4 The sign string immediately follows the int_curr_symbol.  */
+  char int_p_sign_posn;
+  char int_n_sign_posn;
 };
 
 
diff --git a/locale/localeconv.c b/locale/localeconv.c
index 14c6102568..79a88ac83b 100644
--- a/locale/localeconv.c
+++ b/locale/localeconv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 95, 97, 99, 2000 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
@@ -47,6 +47,12 @@ localeconv (void)
   result.n_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, N_SEP_BY_SPACE);
   result.p_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, P_SIGN_POSN);
   result.n_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, N_SIGN_POSN);
+  result.p_cs_precedes = *(char *) _NL_CURRENT (LC_MONETARY, INT_P_CS_PRECEDES);
+  result.p_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, INT_P_SEP_BY_SPACE);
+  result.n_cs_precedes = *(char *) _NL_CURRENT (LC_MONETARY, INT_N_CS_PRECEDES);
+  result.n_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, INT_N_SEP_BY_SPACE);
+  result.p_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, INT_P_SIGN_POSN);
+  result.n_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, INT_N_SIGN_POSN);
 
   return &result;
 }