char * conv_entity(unsigned int c) { char b = c & 0xff; if (c < 0x20) /* C0 */ return " "; if (c < 0x7f) /* ASCII */ return Strnew_charp_n(&b, 1)->ptr; if (c < 0xa0) /* DEL, C1 */ return " "; if (c == 0xa0) return NBSP; if (c < 0x100) { /* Latin1 (ISO 8859-1) */ if (UseAltEntity) return alt_latin1[c - 0xa0]; #ifdef USE_M17N return wc_conv_n(&b, 1, WC_CES_ISO_8859_1, InnerCharset)->ptr; #else return Strnew_charp_n(&b, 1)->ptr; #endif } #ifdef USE_M17N #ifdef USE_UNICODE if (c <= WC_C_UCS4_END) { /* Unicode */ wc_uchar utf8[7]; wc_ucs_to_utf8(c, utf8); return wc_conv((char *)utf8, WC_CES_UTF_8, InnerCharset)->ptr; } #endif #endif return "?"; }
static void encode_symbol(symbol_set * s) { int i; for (i = 0; s->item[i]; i++) { if (*(s->item[i])) s->item[i] = wc_conv(s->item[i], s->ces, InnerCharset)->ptr; } s->encode = 1; }
static void encode_symbol(symbol_set * s) { int i; for (i = 0; s->item[i]; i++) ; s->conved_item = New_N(char *, i); for (i = 0; s->item[i]; i++) { if (*(s->item[i])) s->conved_item[i] = wc_conv(s->item[i], s->ces, InnerCharset)->ptr; } }
/* show parameter with bad options invokation */ void show_params(FILE * fp) { int i, j, l; char *t = NULL; char *cmt; #ifdef USE_M17N #ifdef ENABLE_NLS OptionCharset = SystemCharset; /* FIXME */ #endif #endif fputs("\nconfiguration parameters\n", fp); for (j = 0; sections[j].name != NULL; j++) { #ifdef USE_M17N if (!OptionEncode) cmt = wc_conv(_(sections[j].name), OptionCharset, InnerCharset)->ptr; else #endif cmt = sections[j].name; fprintf(fp, " section[%d]: %s\n", j, conv_to_system(cmt)); i = 0; while (sections[j].params[i].name) { switch (sections[j].params[i].type) { case P_INT: case P_SHORT: case P_CHARINT: case P_NZINT: t = (sections[j].params[i].inputtype == PI_ONOFF) ? "bool" : "number"; break; case P_CHAR: t = "char"; break; case P_STRING: t = "string"; break; #if defined(USE_SSL) && defined(USE_SSL_VERIFY) case P_SSLPATH: t = "path"; break; #endif #ifdef USE_COLOR case P_COLOR: t = "color"; break; #endif #ifdef USE_M17N case P_CODE: t = "charset"; break; #endif case P_PIXELS: t = "number"; break; case P_SCALE: t = "percent"; break; } #ifdef USE_M17N if (!OptionEncode) cmt = wc_conv(_(sections[j].params[i].comment), OptionCharset, InnerCharset)->ptr; else #endif cmt = sections[j].params[i].comment; l = 30 - (strlen(sections[j].params[i].name) + strlen(t)); if (l < 0) l = 1; fprintf(fp, " -o %s=<%s>%*s%s\n", sections[j].params[i].name, t, l, " ", conv_to_system(cmt)); i++; } } }
Buffer * load_option_panel(void) { Str src; struct param_ptr *p; struct sel_c *s; #ifdef USE_M17N wc_ces_list *c; #endif int x, i; Str tmp; Buffer *buf; if (optionpanel_str == NULL) optionpanel_str = Sprintf(optionpanel_src1, w3m_version, html_quote(localCookie()->ptr), _(CMT_HELPER)); #ifdef USE_M17N #ifdef ENABLE_NLS OptionCharset = SystemCharset; /* FIXME */ #endif if (!OptionEncode) { optionpanel_str = wc_Str_conv(optionpanel_str, OptionCharset, InnerCharset); for (i = 0; sections[i].name != NULL; i++) { sections[i].name = wc_conv(_(sections[i].name), OptionCharset, InnerCharset)->ptr; for (p = sections[i].params; p->name; p++) { p->comment = wc_conv(_(p->comment), OptionCharset, InnerCharset)->ptr; if (p->inputtype == PI_SEL_C #ifdef USE_COLOR && p->select != colorstr #endif ) { for (s = (struct sel_c *)p->select; s->text != NULL; s++) { s->text = wc_conv(_(s->text), OptionCharset, InnerCharset)->ptr; } } } } #ifdef USE_COLOR for (s = colorstr; s->text; s++) s->text = wc_conv(_(s->text), OptionCharset, InnerCharset)->ptr; #endif OptionEncode = TRUE; } #endif src = Strdup(optionpanel_str); Strcat_charp(src, "<table><tr><td>"); for (i = 0; sections[i].name != NULL; i++) { Strcat_m_charp(src, "<h1>", sections[i].name, "</h1>", NULL); p = sections[i].params; Strcat_charp(src, "<table width=100% cellpadding=0>"); while (p->name) { Strcat_m_charp(src, "<tr><td>", p->comment, NULL); Strcat(src, Sprintf("</td><td width=%d>", (int)(28 * pixel_per_char))); switch (p->inputtype) { case PI_TEXT: Strcat_m_charp(src, "<input type=text name=", p->name, " value=\"", html_quote(to_str(p)->ptr), "\">", NULL); break; case PI_ONOFF: x = atoi(to_str(p)->ptr); Strcat_m_charp(src, "<input type=radio name=", p->name, " value=1", (x ? " checked" : ""), ">YES <input type=radio name=", p->name, " value=0", (x ? "" : " checked"), ">NO", NULL); break; case PI_SEL_C: tmp = to_str(p); Strcat_m_charp(src, "<select name=", p->name, ">", NULL); for (s = (struct sel_c *)p->select; s->text != NULL; s++) { Strcat_charp(src, "<option value="); Strcat(src, Sprintf("%s\n", s->cvalue)); if ((p->type != P_CHAR && s->value == atoi(tmp->ptr)) || (p->type == P_CHAR && (char)s->value == *(tmp->ptr))) Strcat_charp(src, " selected"); Strcat_char(src, '>'); Strcat_charp(src, s->text); } Strcat_charp(src, "</select>"); break; #ifdef USE_M17N case PI_CODE: tmp = to_str(p); Strcat_m_charp(src, "<select name=", p->name, ">", NULL); for (c = *(wc_ces_list **) p->select; c->desc != NULL; c++) { Strcat_charp(src, "<option value="); Strcat(src, Sprintf("%s\n", c->name)); if (c->id == atoi(tmp->ptr)) Strcat_charp(src, " selected"); Strcat_char(src, '>'); Strcat_charp(src, c->desc); } Strcat_charp(src, "</select>"); break; #endif } Strcat_charp(src, "</td></tr>\n"); p++; } Strcat_charp(src, "<tr><td></td><td><p><input type=submit value=\"OK\"></td></tr>"); Strcat_charp(src, "</table><hr width=50%>"); } Strcat_charp(src, "</table></form></body></html>"); buf = loadHTMLString(src); #ifdef USE_M17N if (buf) buf->document_charset = OptionCharset; #endif return buf; }