summaryrefslogtreecommitdiff
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;
}