aboutsummaryrefslogtreecommitdiff
path: root/iconv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-08-22 22:39:16 +0000
committerUlrich Drepper <drepper@redhat.com>1999-08-22 22:39:16 +0000
commitc90a2db6e0c4661091a9c5b1454a9beffc611e9e (patch)
tree22fd71bef937c16b2468c25649c71b77940908a4 /iconv
parent60c53a1219b9f0ee9c1787f2b160b362e7f94457 (diff)
downloadglibc-c90a2db6e0c4661091a9c5b1454a9beffc611e9e.tar
glibc-c90a2db6e0c4661091a9c5b1454a9beffc611e9e.tar.gz
glibc-c90a2db6e0c4661091a9c5b1454a9beffc611e9e.tar.bz2
glibc-c90a2db6e0c4661091a9c5b1454a9beffc611e9e.zip
Update.
1999-08-22 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_int.h (GCONV_AVOID_NOCONV): New definition. (__gconv_find_transform): Update prototype. (__gconv_open): Likewise. * iconv/gconv_open.c: Take extra parameter and pass it to __gconv_find_transform. * iconv/gconv_db.c (__gconv_find_transform): Take extra parameter with flags. If GCONV_AVOID_NOCONV flag is set don't return copying transformation. * iconv/iconv_open.c: Pass extra parameter to __gconv_open. * wcsmbs/wcsmbsload.c: Likewise. * intl/dcgettext.c (_nl_find_msg): Rewrite to use gconv instead of iconv for glibc. * intl/gettextP.h: Likewise. * intl/loadmsgcat.c: Likewise. * posix/regexbug1.c: New file. * posix/Makefile (tests): Add regexbug1.
Diffstat (limited to 'iconv')
-rw-r--r--iconv/gconv_int.h11
-rw-r--r--iconv/gconv_open.c5
-rw-r--r--iconv/iconv_open.c2
3 files changed, 13 insertions, 5 deletions
diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h
index 6048319372..794f41f86b 100644
--- a/iconv/gconv_int.h
+++ b/iconv/gconv_int.h
@@ -83,6 +83,13 @@ struct gconv_module
};
+/* Flags for `gconv_open'. */
+enum
+{
+ GCONV_AVOID_NOCONV = 1 << 0
+};
+
+
/* Global variables. */
/* Database of alias names. */
@@ -95,7 +102,7 @@ extern struct gconv_module *__gconv_modules_db;
/* Return in *HANDLE decriptor for transformation from FROMSET to TOSET. */
extern int __gconv_open (const char *__toset, const char *__fromset,
- __gconv_t *__handle)
+ __gconv_t *__handle, int flags)
internal_function;
/* Free resources associated with transformation descriptor CD. */
@@ -115,7 +122,7 @@ extern int __gconv (__gconv_t __cd, const unsigned char **__inbuf,
the single steps necessary for transformation from FROMSET to TOSET. */
extern int __gconv_find_transform (const char *__toset, const char *__fromset,
struct __gconv_step **__handle,
- size_t *__nsteps)
+ size_t *__nsteps, int flags)
internal_function;
/* Read all the configuration data and cache it. */
diff --git a/iconv/gconv_open.c b/iconv/gconv_open.c
index cf36999d0d..44cb5ccab5 100644
--- a/iconv/gconv_open.c
+++ b/iconv/gconv_open.c
@@ -27,7 +27,8 @@
int
internal_function
-__gconv_open (const char *toset, const char *fromset, __gconv_t *handle)
+__gconv_open (const char *toset, const char *fromset, __gconv_t *handle,
+ int flags)
{
struct __gconv_step *steps;
size_t nsteps;
@@ -35,7 +36,7 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle)
size_t cnt = 0;
int res;
- res = __gconv_find_transform (toset, fromset, &steps, &nsteps);
+ res = __gconv_find_transform (toset, fromset, &steps, &nsteps, flags);
if (res == __GCONV_OK)
{
/* Allocate room for handle. */
diff --git a/iconv/iconv_open.c b/iconv/iconv_open.c
index e566c6a544..96b910ea94 100644
--- a/iconv/iconv_open.c
+++ b/iconv/iconv_open.c
@@ -85,7 +85,7 @@ iconv_open (const char *tocode, const char *fromcode)
fromcode = (fromcode_conv[2] == '\0'
? upstr (fromcode_conv, fromcode) : fromcode_conv);
- res = __gconv_open (tocode, fromcode, &cd);
+ res = __gconv_open (tocode, fromcode, &cd, 0);
if (res != __GCONV_OK)
{