| 1 | /* |
| 2 | * slookup.c - static lookup of character sets. |
| 3 | */ |
| 4 | |
| 5 | #include "charset.h" |
| 6 | #include "internal.h" |
| 7 | |
| 8 | #define ENUM_CHARSET(x) extern charset_spec const charset_##x; |
| 9 | #include "enum.c" |
| 10 | #undef ENUM_CHARSET |
| 11 | |
| 12 | static charset_spec const *const cs_table[] = { |
| 13 | |
| 14 | #define ENUM_CHARSET(x) &charset_##x, |
| 15 | #include "enum.c" |
| 16 | #undef ENUM_CHARSET |
| 17 | |
| 18 | }; |
| 19 | |
| 20 | charset_spec const *charset_find_spec(int charset) |
| 21 | { |
| 22 | int i; |
| 23 | |
| 24 | for (i = 0; i < (int)lenof(cs_table); i++) |
| 25 | if (cs_table[i]->charset == charset) |
| 26 | return cs_table[i]; |
| 27 | |
| 28 | return NULL; |
| 29 | } |