summaryrefslogtreecommitdiff
blob: 9532aca99e33378aab79e9269238c6d8d222ce52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
diff -urN sylpheed-0.9.11.orig/src/procmime.c sylpheed-0.9.11/src/procmime.c
--- sylpheed-0.9.11.orig/src/procmime.c	2004-01-28 15:31:02.000000000 +0900
+++ sylpheed-0.9.11/src/procmime.c	2004-05-30 13:47:15.822408644 +0900
@@ -946,6 +946,9 @@
 		g_free(dir);
 		mime_type_list = g_list_concat(mime_type_list, list);
 
+		list = procmime_get_mime_type_list("/usr/share/mime/globs");
+		mime_type_list = g_list_concat(mime_type_list, list);
+
 		if (!mime_type_list) {
 			g_warning("mime.types not found\n");
 			return NULL;
@@ -998,7 +1001,7 @@
 		g_strstrip(buf);
 
 		p = buf;
-		while (*p && !isspace(*p)) p++;
+		while (*p && !isspace(*p) && (*p != ':')) p++;
 		if (*p) {
 			*p = '\0';
 			p++;
@@ -1011,7 +1014,7 @@
 		mime_type->type = g_strdup(buf);
 		mime_type->sub_type = g_strdup(delim + 1);
 
-		while (*p && isspace(*p)) p++;
+		while (*p && (isspace(*p) || (*p == '*') || (*p == '.'))) p++;
 		if (*p)
 			mime_type->extension = g_strdup(p);
 		else
@@ -1023,7 +1026,7 @@
 	fclose(fp);
 
 	if (!list)
-		g_warning("Can't read mime.types\n");
+		g_warning("Can't read %s\n", file);
 
 	return list;
 }