Pretty print.
[kopensolaris-gnu/glibc.git] / iconv / gconv_builtin.c
index 4193822..4f3ca56 100644 (file)
@@ -1,5 +1,5 @@
 /* Table for builtin transformation mapping.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#include <gconv.h>
+#include <limits.h>
 #include <string.h>
 
+#include <gconv_int.h>
+
 #include <assert.h>
 
 
@@ -31,22 +33,34 @@ static struct builtin_map
   gconv_init_fct init;
   gconv_end_fct end;
 
+  int min_needed_from;
+  int max_needed_from;
+  int min_needed_to;
+  int max_needed_to;
+
 } map[] =
 {
 #define BUILTIN_TRANSFORMATION(From, ConstPfx, ConstLen, To, Cost, Name, \
-                              Fct, Init, End) \
+                              Fct, Init, End, MinF, MaxF, MinT, MaxT) \
   {                                                                          \
     name: Name,                                                                      \
     fct: Fct,                                                                \
     init: Init,                                                                      \
     end: End,                                                                \
+                                                                             \
+    min_needed_from: MinF,                                                   \
+    max_needed_from: MaxF,                                                   \
+    min_needed_to: MinT,                                                     \
+    max_needed_to: MaxT                                                              \
   },
+#define BUILTIN_ALIAS(From, To)
 
 #include <gconv_builtin.h>
 };
 
 
 void
+internal_function
 __gconv_get_builtin_trans (const char *name, struct gconv_step *step)
 {
   size_t cnt;
@@ -60,5 +74,14 @@ __gconv_get_builtin_trans (const char *name, struct gconv_step *step)
   step->fct = map[cnt].fct;
   step->init_fct = map[cnt].init;
   step->end_fct = map[cnt].end;
+  step->counter = INT_MAX;
   step->shlib_handle = NULL;
+
+  step->min_needed_from = map[cnt].min_needed_from;
+  step->max_needed_from = map[cnt].max_needed_from;
+  step->min_needed_to = map[cnt].min_needed_to;
+  step->max_needed_to = map[cnt].max_needed_to;
+
+  /* None of the builtin converters handles stateful encoding.  */
+  step->stateful = 0;
 }