10 #define _JLU3_jlu32lpair 1
11 #define jlu32lpair poptJlu32lpair
21 if (((
unsigned)*p & 0xc0) != (
unsigned)0x80)
33 if (((
unsigned)*p & 0xc0) != (
unsigned)0x80)
39 #if !defined(POPT_fprintf)
41 #if defined(HAVE_DCGETTEXT)
46 POPT_dgettext(
const char * dom,
const char * str)
48 char * codeset = NULL;
52 dom = textdomain(NULL);
53 codeset = bind_textdomain_codeset(dom, NULL);
54 bind_textdomain_codeset(dom,
"UTF-8");
55 retval = dgettext(dom, str);
56 bind_textdomain_codeset(dom, codeset);
69 strdup_locale_from_utf8 (
char * istr)
71 char * codeset = NULL;
78 #ifdef HAVE_LANGINFO_H
79 codeset = nl_langinfo ((nl_item)CODESET);
82 if (codeset != NULL && strcmp(codeset,
"UTF-8") != 0
83 && (cd = iconv_open(codeset,
"UTF-8")) != (iconv_t)-1)
85 char * shift_pin = NULL;
86 size_t db = strlen(istr);
87 char * dstr = malloc((db + 1) *
sizeof(*dstr));
96 err = iconv(cd, NULL, NULL, NULL, NULL);
99 err = iconv(cd, &pin, &ib, &pout, &ob);
100 if (err != (
size_t)-1) {
101 if (shift_pin == NULL) {
110 {
size_t used = (size_t)(pout - dstr);
112 dstr = realloc(dstr, (db + 1) *
sizeof(*dstr));
126 (void) iconv_close(cd);
140 char * b = NULL, * ob = NULL;
144 #if defined(HAVE_VASPRINTF)
145 va_start(ap, format);
146 if ((rc = vasprintf(&b, format, ap)) < 0)
150 size_t nb = (size_t)1;
157 while ((b = realloc(b, nb+1)) != NULL) {
158 va_start(ap, format);
159 rc = vsnprintf(b, nb, format, ap);
164 nb = (size_t)(rc + 1);
166 nb += (nb < (size_t)100 ? (
size_t)100 : nb);
174 ob = strdup_locale_from_utf8(b);
176 rc = fprintf(stream,
"%s", ob);
180 rc = fprintf(stream,
"%s", b);
const char * POPT_prev_char(const char *str)
const char * POPT_next_char(const char *str)
int POPT_fprintf(FILE *stream, const char *format,...)
char * xstrdup(const char *str)