summaryrefslogtreecommitdiff
path: root/iconv/gconv_int.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-07-22 17:47:08 +0000
committerUlrich Drepper <drepper@redhat.com>2001-07-22 17:47:08 +0000
commit6b98979fc9e48f7627068426c49780f74f482750 (patch)
treed268769299237c3e7a3daa824289f1063b9a4fd1 /iconv/gconv_int.h
parent2c4223669598910462717212b583ef0be08dc2bb (diff)
downloadglibc-6b98979fc9e48f7627068426c49780f74f482750.tar.gz
Update.
2001-07-22 Ulrich Drepper <drepper@redhat.com> * iconv/gconv_builtin.c (struct builtin_map): Remove init and end elements. (BUILTIN_TRANSFORMATION): Remove Init and End parameters. (__gconv_get_builtin_trans): Initialize __init_fct and __end_fct to NULL. * iconv/gconv_builtin.h: Remove NULL parameters for Init and End in all BUILTIN_TRANSFORMATION calls. * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Remove Init and End parameters. * iconv/gconv_simple.c: Likewise. * iconv/gconv_db.c (gen_steps): Internal converters don't have initializers, move the code accordingly. * iconv/gconv_conf.c (__gconv_read_conf): Don't read configuration file if STATIC_GCONV is defined. * iconv/gconv_conf.c (__gconv_path_envvar): New global variable. (__gconv_get_path): Use it instead of call getenv. (__gconv_read_conf): First see whether cache can be used. If yes, don't do any work here. * iconv/gconv_db.c (__gconv_release_step): Renamed from release_step and exported. Change callers. (__gconv_find_transform): First call __gconv_lookup_cache and only continue if it signals no cache available. Remove some unnecessary tests. * iconv/gconv_int.h: Declare __gconv_path_envvar, __gconv_lookup_cache, __gconv_release_step, and __gconv_loaded_cache. * iconv/gconv_cache.c: New file. * iconv/iconvconfig.c: New file. * iconv/iconvconfig.h: New file. * iconv/strtab.c: New file. * iconv/Makefile: Add rules to build new files and programs.
Diffstat (limited to 'iconv/gconv_int.h')
-rw-r--r--iconv/gconv_int.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h
index 9641077bcc..c517bd9e97 100644
--- a/iconv/gconv_int.h
+++ b/iconv/gconv_int.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -120,6 +120,9 @@ extern void *__gconv_alias_db;
extern size_t __gconv_nmodules;
extern struct gconv_module *__gconv_modules_db;
+/* Value of the GCONV_PATH environment variable. */
+extern const char *__gconv_path_envvar;
+
/* The gconv functions expects the name to be in upper case and complete,
including the trailing slashes if necessary. */
@@ -179,9 +182,22 @@ extern int __gconv_find_transform (const char *toset, const char *fromset,
size_t *nsteps, int flags)
internal_function;
+/* Search for transformation in cache data. */
+extern int __gconv_lookup_cache (const char *toset, const char *fromset,
+ struct __gconv_step **handle, size_t *nsteps,
+ int flags)
+ internal_function;
+
+/* Free data associated with a step's structure. */
+extern void __gconv_release_step (struct __gconv_step *step)
+ internal_function;
+
/* Read all the configuration data and cache it. */
extern void __gconv_read_conf (void);
+/* Try to read module cache file. */
+extern int __gconv_load_cache (void) internal_function;
+
/* Determine the directories we are looking in. */
extern void __gconv_get_path (void);