summary refs log tree commit diff
path: root/iconv
diff options
context:
space:
mode:
Diffstat (limited to 'iconv')
-rw-r--r--iconv/Makefile6
-rw-r--r--iconv/gconv_cache.c2
-rw-r--r--iconv/gconv_charset.h11
-rw-r--r--iconv/gconv_conf.c6
-rw-r--r--iconv/gconv_db.c3
-rw-r--r--iconv/gconv_int.h7
-rw-r--r--iconv/gconv_simple.c12
-rw-r--r--iconv/iconvconfig.c2
-rw-r--r--iconv/loop.c2
9 files changed, 32 insertions, 19 deletions
diff --git a/iconv/Makefile b/iconv/Makefile
index 15846c2c07..9fb41db9df 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1997,1998,2000,2001,2002,2003 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
@@ -35,11 +35,11 @@ CFLAGS-gconv_cache.c = -DSTATIC_GCONV
 CFLAGS-gconv_simple.c = -DSTATIC_GCONV
 endif
 
-vpath %.c ../locale/programs
+vpath %.c ../locale/programs ../intl
 
 iconv_prog-modules = iconv_charmap charmap charmap-dir linereader \
 		     dummy-repertoire simple-hash xstrdup xmalloc
-iconvconfig-modules = strtab xmalloc
+iconvconfig-modules = strtab xmalloc hash-string
 extra-objs	   = $(iconv_prog-modules:=.o) $(iconvconfig-modules:=.o)
 CFLAGS-iconv_prog.c = -I../locale/programs
 CFLAGS-iconv_charmap.c = -I../locale/programs
diff --git a/iconv/gconv_cache.c b/iconv/gconv_cache.c
index 6d19f9f052..9b695c377d 100644
--- a/iconv/gconv_cache.c
+++ b/iconv/gconv_cache.c
@@ -159,7 +159,7 @@ find_module_idx (const char *str, size_t *idxp)
   hashtab = (struct hash_entry *) ((char *) gconv_cache
 				   + header->hash_offset);
 
-  hval = hash_string (str);
+  hval = __hash_string (str);
   idx = hval % header->hash_size;
   hval2 = 1 + hval % (header->hash_size - 2);
 
diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h
index f2eab2d4bd..31b545f2e1 100644
--- a/iconv/gconv_charset.h
+++ b/iconv/gconv_charset.h
@@ -1,5 +1,5 @@
 /* Charset name normalization.
-   Copyright (C) 2001,02 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
 
@@ -22,7 +22,7 @@
 #include <locale.h>
 
 
-static inline void
+static void
 strip (char *wp, const char *s)
 {
   int slash_count = 0;
@@ -48,7 +48,7 @@ strip (char *wp, const char *s)
 }
 
 
-static inline char * __attribute__ ((unused))
+static inline char * __attribute__ ((unused, always_inline))
 upstr (char *dst, const char *str)
 {
   char *cp = dst;
@@ -56,8 +56,3 @@ upstr (char *dst, const char *str)
     /* nothing */;
   return dst;
 }
-
-
-/* If NAME is an codeset alias expand it.  */
-extern int __gconv_compare_alias (const char *name1, const char *name2)
-     internal_function;
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index 746c2245a3..1fa7d0e9f8 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -1,5 +1,5 @@
 /* Handle configuration data.
-   Copyright (C) 1997,98,99,2000,2001,2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2000,2001,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -125,7 +125,7 @@ detect_conflict (const char *alias)
 
 
 /* Add new alias.  */
-static inline void
+static void
 add_alias (char *rp, void *modules)
 {
   /* We now expect two more string.  The strings are normalized
@@ -178,7 +178,7 @@ add_alias (char *rp, void *modules)
 
 
 /* Insert a data structure for a new module in the search tree.  */
-static inline void
+static void
 internal_function
 insert_module (struct gconv_module *newp, int tobefreed)
 {
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index 020b556d5e..158e0e186e 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -1,5 +1,5 @@
 /* Provide access to the collection of available transformation modules.
-   Copyright (C) 1997,98,99,2000,2001,2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2000,2001,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,7 +27,6 @@
 
 #include <dlfcn.h>
 #include <gconv_int.h>
-#include <gconv_charset.h>
 
 
 /* Simple data structure for alias mapping.  We have two names, `from'
diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h
index dec29d9c14..a5fb728447 100644
--- a/iconv/gconv_int.h
+++ b/iconv/gconv_int.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -262,6 +262,11 @@ extern int __gconv_transliterate (struct __gconv_step *step,
 				  size_t *irreversible) attribute_hidden;
 
 
+/* If NAME is an codeset alias expand it.  */
+extern int __gconv_compare_alias (const char *name1, const char *name2)
+     internal_function;
+
+
 /* Builtin transformations.  */
 #ifdef _LIBC
 # define __BUILTIN_TRANSFORM(Name) \
diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c
index 69489d892b..4bb7a911cd 100644
--- a/iconv/gconv_simple.c
+++ b/iconv/gconv_simple.c
@@ -72,6 +72,7 @@ __gconv_btwoc_ascii (struct __gconv_step *step, unsigned char c)
 
 
 static inline int
+__attribute ((always_inline))
 internal_ucs4_loop (struct __gconv_step *step,
 		    struct __gconv_step_data *step_data,
 		    const unsigned char **inptrp, const unsigned char *inend,
@@ -113,6 +114,7 @@ internal_ucs4_loop (struct __gconv_step *step,
 
 #ifndef _STRING_ARCH_unaligned
 static inline int
+__attribute ((always_inline))
 internal_ucs4_loop_unaligned (struct __gconv_step *step,
 			      struct __gconv_step_data *step_data,
 			      const unsigned char **inptrp,
@@ -161,6 +163,7 @@ internal_ucs4_loop_unaligned (struct __gconv_step *step,
 
 
 static inline int
+__attribute ((always_inline))
 internal_ucs4_loop_single (struct __gconv_step *step,
 			   struct __gconv_step_data *step_data,
 			   const unsigned char **inptrp,
@@ -219,6 +222,7 @@ internal_ucs4_loop_single (struct __gconv_step *step,
 
 
 static inline int
+__attribute ((always_inline))
 ucs4_internal_loop (struct __gconv_step *step,
 		    struct __gconv_step_data *step_data,
 		    const unsigned char **inptrp, const unsigned char *inend,
@@ -283,6 +287,7 @@ ucs4_internal_loop (struct __gconv_step *step,
 
 #ifndef _STRING_ARCH_unaligned
 static inline int
+__attribute ((always_inline))
 ucs4_internal_loop_unaligned (struct __gconv_step *step,
 			      struct __gconv_step_data *step_data,
 			      const unsigned char **inptrp,
@@ -352,6 +357,7 @@ ucs4_internal_loop_unaligned (struct __gconv_step *step,
 
 
 static inline int
+__attribute ((always_inline))
 ucs4_internal_loop_single (struct __gconv_step *step,
 			   struct __gconv_step_data *step_data,
 			   const unsigned char **inptrp,
@@ -426,6 +432,7 @@ ucs4_internal_loop_single (struct __gconv_step *step,
 
 
 static inline int
+__attribute ((always_inline))
 internal_ucs4le_loop (struct __gconv_step *step,
 		      struct __gconv_step_data *step_data,
 		      const unsigned char **inptrp, const unsigned char *inend,
@@ -467,6 +474,7 @@ internal_ucs4le_loop (struct __gconv_step *step,
 
 #ifndef _STRING_ARCH_unaligned
 static inline int
+__attribute ((always_inline))
 internal_ucs4le_loop_unaligned (struct __gconv_step *step,
 				struct __gconv_step_data *step_data,
 				const unsigned char **inptrp,
@@ -518,6 +526,7 @@ internal_ucs4le_loop_unaligned (struct __gconv_step *step,
 
 
 static inline int
+__attribute ((always_inline))
 internal_ucs4le_loop_single (struct __gconv_step *step,
 			     struct __gconv_step_data *step_data,
 			     const unsigned char **inptrp,
@@ -573,6 +582,7 @@ internal_ucs4le_loop_single (struct __gconv_step *step,
 
 
 static inline int
+__attribute ((always_inline))
 ucs4le_internal_loop (struct __gconv_step *step,
 		      struct __gconv_step_data *step_data,
 		      const unsigned char **inptrp, const unsigned char *inend,
@@ -638,6 +648,7 @@ ucs4le_internal_loop (struct __gconv_step *step,
 
 #ifndef _STRING_ARCH_unaligned
 static inline int
+__attribute ((always_inline))
 ucs4le_internal_loop_unaligned (struct __gconv_step *step,
 				struct __gconv_step_data *step_data,
 				const unsigned char **inptrp,
@@ -711,6 +722,7 @@ ucs4le_internal_loop_unaligned (struct __gconv_step *step,
 
 
 static inline int
+__attribute ((always_inline))
 ucs4le_internal_loop_single (struct __gconv_step *step,
 			     struct __gconv_step_data *step_data,
 			     const unsigned char **inptrp,
diff --git a/iconv/iconvconfig.c b/iconv/iconvconfig.c
index 33ffeb34fc..cd243f6807 100644
--- a/iconv/iconvconfig.c
+++ b/iconv/iconvconfig.c
@@ -784,7 +784,7 @@ new_name (const char *str, struct Strent *strent)
   newp->name = str;
   newp->strent = strent;
   newp->module_idx = -1;
-  newp->hashval = hash_string (str);
+  newp->hashval = __hash_string (str);
 
   ++nnames;
 
diff --git a/iconv/loop.c b/iconv/loop.c
index d792f4a8a2..1918fe5007 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -257,6 +257,7 @@
 
 /* The function returns the status, as defined in gconv.h.  */
 static inline int
+__attribute ((always_inline))
 FCTNAME (LOOPFCT) (struct __gconv_step *step,
 		   struct __gconv_step_data *step_data,
 		   const unsigned char **inptrp, const unsigned char *inend,
@@ -342,6 +343,7 @@ FCTNAME (LOOPFCT) (struct __gconv_step *step,
 # define SINGLE(fct) SINGLE2 (fct)
 # define SINGLE2(fct) fct##_single
 static inline int
+__attribute ((always_inline))
 SINGLE(LOOPFCT) (struct __gconv_step *step,
 		 struct __gconv_step_data *step_data,
 		 const unsigned char **inptrp, const unsigned char *inend,