summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <bar@bar.mysql.r18.ru>2003-04-01 17:26:28 +0500
committerunknown <bar@bar.mysql.r18.ru>2003-04-01 17:26:28 +0500
commit9ca3d719e73e3f0bb41e177573a24d4d390bbdb9 (patch)
tree6dbaa9d6e95db56ffc67bfbb6db7dfe42f28f677
parent158b54873a931859c768a01f88270927d3cda682 (diff)
downloadmariadb-git-9ca3d719e73e3f0bb41e177573a24d4d390bbdb9.tar.gz
charset2html.c:
It's now working under HTTPD as a CGI. Very convenient! mysys/charset2html.c: It's now working under HTTPD as a CGI. Very convenient!
-rw-r--r--mysys/charset2html.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/mysys/charset2html.c b/mysys/charset2html.c
index 3da24232ad4..c6112bfeb9e 100644
--- a/mysys/charset2html.c
+++ b/mysys/charset2html.c
@@ -64,7 +64,7 @@ static void print_cs(CHARSET_INFO *cs)
for (i=0; i<256; i++)
{
ch[i].cod=i;
- ch[i].srt=cs->sort_order[i];
+ ch[i].srt=cs->sort_order ? cs->sort_order[i] : i;
ch[i].uni=cs->tab_to_uni[i];
ch[i].low=cs->tab_to_uni[cs->to_lower[i]];
ch[i].upp=cs->tab_to_uni[cs->to_upper[i]];
@@ -104,12 +104,41 @@ static void print_cs(CHARSET_INFO *cs)
printf("</HTML>\n");
}
+static void print_index()
+{
+ CHARSET_INFO **cs;
+ int clr=0;
+
+ get_charset_by_name("",MYF(0)); /* To execute init_available_charsets */
+
+ printf("All charsets\n");
+ printf("<table border=1>\n");
+ printf("<tr bgcolor=EEEE99><th>ID<th>Charset<th>Collation<th>Def<th>Bin<th>Com<th>Comment\n");
+ for (cs=all_charsets ; cs < all_charsets+256; cs++)
+ {
+ if (!cs[0])
+ continue;
+ printf("<tr bgcolor=#%s><td><a href=\"?%s\">%d</a><td>%s<td>%s<td>%s<td>%s<td>%s<td>%s\n",
+ (clr= !clr) ? "DDDDDD" : "EEEE99",
+ cs[0]->name,cs[0]->number,cs[0]->csname,
+ cs[0]->name,
+ (cs[0]->state & MY_CS_PRIMARY) ? "def " : "&nbsp;",
+ (cs[0]->state & MY_CS_BINSORT) ? "bin " : "&nbsp;",
+ (cs[0]->state & MY_CS_COMPILED) ? "com " : "&nbsp;",
+ cs[0]->comment);
+ }
+ printf("</table>\n");
+}
int main(int argc, char **argv) {
- const char *the_set = MYSQL_CHARSET;
+ const char *the_set = NULL;
int argcnt = 1;
CHARSET_INFO *cs;
+ if (getenv("SCRIPT_NAME"))
+ {
+ printf("Content-Type: text/html\r\n\r\n");
+ }
my_init();
if (argc > argcnt && argv[argcnt][0] == '-' && argv[argcnt][1] == '#')
@@ -121,6 +150,12 @@ int main(int argc, char **argv) {
if (argc > argcnt)
charsets_dir = argv[argcnt++];
+ if (!the_set)
+ {
+ print_index();
+ return 0;
+ }
+
if (!(cs= get_charset_by_name(the_set, MYF(MY_WME))))
return 1;