summary refs log tree commit diff
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
glibc-6b98979fc9e48f7627068426c49780f74f482750.tar.xz
glibc-6b98979fc9e48f7627068426c49780f74f482750.zip
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);