commit d6c2c4a59ea00204881e9fd0040ca3104eeb40a2
parent 6b2db1a4d371622a94ee4d0d9063d6cfcb25f15b
Author: ukai <ukai>
Date: Wed, 29 Jan 2003 17:33:28 +0000
[w3m-dev-en 00852] Re: Enhancement: content type detection of files
* url.c (DefaultGuess): remove upppercases
(guessContentTypeFromTable): rewrite, strcasecmp
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat:
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,5 +1,11 @@
2003-01-30 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+ * [w3m-dev-en 00852] Re: Enhancement: content type detection of files
+ * url.c (DefaultGuess): remove upppercases
+ (guessContentTypeFromTable): rewrite, strcasecmp
+
+2003-01-30 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+
* [w3m-dev 03708] Re: Don't stop loading image when moving to next page.
* config.h.dist (lstat): define ifndef HAVE_LSTAT
* configure (config.h) ditto
diff --git a/url.c b/url.c
@@ -86,23 +86,14 @@ struct cmdtable schemetable[] = {
static struct table2 DefaultGuess[] = {
{"html", "text/html"},
- {"HTML", "text/html"},
{"htm", "text/html"},
- {"HTM", "text/html"},
{"shtml", "text/html"},
- {"SHTML", "text/html"},
{"gif", "image/gif"},
- {"GIF", "image/gif"},
{"jpeg", "image/jpeg"},
{"jpg", "image/jpeg"},
- {"JPEG", "image/jpeg"},
- {"JPG", "image/jpeg"},
{"png", "image/png"},
- {"PNG", "image/png"},
{"xbm", "image/xbm"},
- {"XBM", "image/xbm"},
{"au", "audio/basic"},
- {"AU", "audio/basic"},
{"gz", "application/x-gzip"},
{"Z", "application/x-compress"},
{"bz2", "application/x-bzip"},
@@ -110,7 +101,6 @@ static struct table2 DefaultGuess[] = {
{"zip", "application/x-zip"},
{"lha", "application/x-lha"},
{"lzh", "application/x-lha"},
- {"LZH", "application/x-lha"},
{"ps", "application/postscript"},
{"pdf", "application/pdf"},
{NULL, NULL}
@@ -1860,6 +1850,7 @@ add_index_file(ParsedURL *pu, URLFile *uf)
static char *
guessContentTypeFromTable(struct table2 *table, char *filename)
{
+ struct table2 *t;
char *p;
if (table == NULL)
return NULL;
@@ -1869,10 +1860,13 @@ guessContentTypeFromTable(struct table2 *table, char *filename)
if (p == filename)
return NULL;
p++;
- while (table->item1) {
- if (!strcmp(p, table->item1))
- return table->item2;
- table++;
+ for (t = table; t->item1; t++) {
+ if (!strcmp(p, t->item1))
+ return t->item2;
+ }
+ for (t = table; t->item1; t++) {
+ if (!strcasecmp(p, t->item1))
+ return t->item2;
}
return NULL;
}