1 /* PSPP - a program for statistical analysis.
2 Copyright (C) 2006 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22 void i18n_done (void);
23 void i18n_init (void);
31 Converts the string TEXT, which should be encoded in FROM-encoding, to a
32 dynamically allocated string in TO-encoding. Any characters which cannot
33 be converted will be represented by '?'.
35 LENGTH should be the length of the string or -1, if null terminated.
37 The returned string will be allocated on POOL.
39 This function's behaviour differs from that of g_convert_with_fallback provided
40 by GLib. The GLib function will fail (returns NULL) if any part of the input
41 string is not valid in the declared input encoding. This function however perseveres
42 even in the presence of badly encoded input.
44 char *recode_string_pool (const char *to, const char *from,
45 const char *text, int length, struct pool *pool);
49 /* Similar to recode_string_pool, but allocates the returned value on the heap instead of
50 in a pool. It is the caller's responsibility to free the returned value. */
51 char *recode_string (const char *to, const char *from,
52 const char *text, int len);
55 bool valid_encoding (const char *enc);
57 /* Return the decimal separator according to the
59 char get_system_decimal (void);
61 const char * get_default_encoding (void);
62 void set_default_encoding (const char *enc);
64 bool set_encoding_from_locale (const char *loc);