Blame lib/iconv_open-solaris.h

Packit 709fb3
/* ANSI-C code produced by gperf version 3.1 */
Packit 709fb3
/* Command-line: gperf -m 10 ./iconv_open-solaris.gperf  */
Packit 709fb3
/* Computed positions: -k'10' */
Packit 709fb3
Packit 709fb3
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
Packit 709fb3
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
Packit 709fb3
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
Packit 709fb3
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
Packit 709fb3
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
Packit 709fb3
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
Packit 709fb3
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
Packit 709fb3
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
Packit 709fb3
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
Packit 709fb3
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
Packit 709fb3
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
Packit 709fb3
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
Packit 709fb3
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
Packit 709fb3
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
Packit 709fb3
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
Packit 709fb3
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
Packit 709fb3
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
Packit 709fb3
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
Packit 709fb3
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
Packit 709fb3
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
Packit 709fb3
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
Packit 709fb3
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
Packit 709fb3
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
Packit 709fb3
/* The character set is not based on ISO-646.  */
Packit 709fb3
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
Packit 709fb3
#endif
Packit 709fb3
Packit 709fb3
#line 1 "./iconv_open-solaris.gperf"
Packit 709fb3
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
Packit 709fb3
Packit 709fb3
#define TOTAL_KEYWORDS 13
Packit 709fb3
#define MIN_WORD_LENGTH 5
Packit 709fb3
#define MAX_WORD_LENGTH 11
Packit 709fb3
#define MIN_HASH_VALUE 5
Packit 709fb3
#define MAX_HASH_VALUE 19
Packit 709fb3
/* maximum key range = 15, duplicates = 0 */
Packit 709fb3
Packit 709fb3
#ifdef __GNUC__
Packit 709fb3
__inline
Packit 709fb3
#else
Packit 709fb3
#ifdef __cplusplus
Packit 709fb3
inline
Packit 709fb3
#endif
Packit 709fb3
#endif
Packit 709fb3
static unsigned int
Packit 709fb3
mapping_hash (register const char *str, register size_t len)
Packit 709fb3
{
Packit 709fb3
  static const unsigned char asso_values[] =
Packit 709fb3
    {
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20,  0,
Packit 709fb3
       9,  8,  7,  6,  5,  4,  3,  2, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Packit 709fb3
      20, 20, 20, 20, 20, 20
Packit 709fb3
    };
Packit 709fb3
  register unsigned int hval = len;
Packit 709fb3
Packit 709fb3
  switch (hval)
Packit 709fb3
    {
Packit 709fb3
      default:
Packit 709fb3
        hval += asso_values[(unsigned char)str[9]];
Packit 709fb3
      /*FALLTHROUGH*/
Packit 709fb3
      case 9:
Packit 709fb3
      case 8:
Packit 709fb3
      case 7:
Packit 709fb3
      case 6:
Packit 709fb3
      case 5:
Packit 709fb3
        break;
Packit 709fb3
    }
Packit 709fb3
  return hval;
Packit 709fb3
}
Packit 709fb3
Packit 709fb3
struct stringpool_t
Packit 709fb3
  {
Packit 709fb3
    char stringpool_str5[sizeof("ASCII")];
Packit 709fb3
    char stringpool_str6[sizeof("CP1251")];
Packit 709fb3
    char stringpool_str7[sizeof("$   abc")];
Packit 709fb3
    char stringpool_str10[sizeof("ISO-8859-1")];
Packit 709fb3
    char stringpool_str11[sizeof("ISO-8859-15")];
Packit 709fb3
    char stringpool_str12[sizeof("ISO-8859-9")];
Packit 709fb3
    char stringpool_str13[sizeof("ISO-8859-8")];
Packit 709fb3
    char stringpool_str14[sizeof("ISO-8859-7")];
Packit 709fb3
    char stringpool_str15[sizeof("ISO-8859-6")];
Packit 709fb3
    char stringpool_str16[sizeof("ISO-8859-5")];
Packit 709fb3
    char stringpool_str17[sizeof("ISO-8859-4")];
Packit 709fb3
    char stringpool_str18[sizeof("ISO-8859-3")];
Packit 709fb3
    char stringpool_str19[sizeof("ISO-8859-2")];
Packit 709fb3
  };
Packit 709fb3
static const struct stringpool_t stringpool_contents =
Packit 709fb3
  {
Packit 709fb3
    "ASCII",
Packit 709fb3
    "CP1251",
Packit 709fb3
    "$   abc",
Packit 709fb3
    "ISO-8859-1",
Packit 709fb3
    "ISO-8859-15",
Packit 709fb3
    "ISO-8859-9",
Packit 709fb3
    "ISO-8859-8",
Packit 709fb3
    "ISO-8859-7",
Packit 709fb3
    "ISO-8859-6",
Packit 709fb3
    "ISO-8859-5",
Packit 709fb3
    "ISO-8859-4",
Packit 709fb3
    "ISO-8859-3",
Packit 709fb3
    "ISO-8859-2"
Packit 709fb3
  };
Packit 709fb3
#define stringpool ((const char *) &stringpool_contents)
Packit 709fb3
Packit 709fb3
static const struct mapping mappings[] =
Packit 709fb3
  {
Packit 709fb3
    {-1}, {-1}, {-1}, {-1}, {-1},
Packit 709fb3
#line 19 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "646"},
Packit 709fb3
#line 30 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"},
Packit 709fb3
#line 18 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7},
Packit 709fb3
    {-1}, {-1},
Packit 709fb3
#line 20 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"},
Packit 709fb3
#line 29 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
Packit 709fb3
#line 28 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"},
Packit 709fb3
#line 27 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"},
Packit 709fb3
#line 26 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
Packit 709fb3
#line 25 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"},
Packit 709fb3
#line 24 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"},
Packit 709fb3
#line 23 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"},
Packit 709fb3
#line 22 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"},
Packit 709fb3
#line 21 "./iconv_open-solaris.gperf"
Packit 709fb3
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"}
Packit 709fb3
  };
Packit 709fb3
Packit 709fb3
const struct mapping *
Packit 709fb3
mapping_lookup (register const char *str, register size_t len)
Packit 709fb3
{
Packit 709fb3
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
Packit 709fb3
    {
Packit 709fb3
      register unsigned int key = mapping_hash (str, len);
Packit 709fb3
Packit 709fb3
      if (key <= MAX_HASH_VALUE)
Packit 709fb3
        {
Packit 709fb3
          register int o = mappings[key].standard_name;
Packit 709fb3
          if (o >= 0)
Packit 709fb3
            {
Packit 709fb3
              register const char *s = o + stringpool;
Packit 709fb3
Packit 709fb3
              if (*str == *s && !strcmp (str + 1, s + 1))
Packit 709fb3
                return &mappings[key];
Packit 709fb3
            }
Packit 709fb3
        }
Packit 709fb3
    }
Packit 709fb3
  return 0;
Packit 709fb3
}