glib r7784 - in trunk/gio: . xdgmime
- From: matthiasc svn gnome org
- To: svn-commits-list gnome org
- Subject: glib r7784 - in trunk/gio: . xdgmime
- Date: Fri, 9 Jan 2009 05:19:17 +0000 (UTC)
Author: matthiasc
Date: Fri Jan 9 05:19:17 2009
New Revision: 7784
URL: http://svn.gnome.org/viewvc/glib?rev=7784&view=rev
Log:
* xdgmime/xdgmimecache.c:
* xdgmime/xdgmimeglob.c: Don't assume filenames are UTF-8.
Modified:
trunk/gio/ChangeLog
trunk/gio/xdgmime/xdgmimecache.c
trunk/gio/xdgmime/xdgmimeglob.c
Modified: trunk/gio/xdgmime/xdgmimecache.c
==============================================================================
--- trunk/gio/xdgmime/xdgmimecache.c (original)
+++ trunk/gio/xdgmime/xdgmimecache.c Fri Jan 9 05:19:17 2009
@@ -31,6 +31,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <ctype.h>
#include <fcntl.h>
#include <unistd.h>
@@ -439,7 +440,7 @@
cache_glob_node_lookup_suffix (XdgMimeCache *cache,
xdg_uint32_t n_entries,
xdg_uint32_t offset,
- xdg_unichar_t *file_name,
+ const char *file_name,
int len,
int ignore_case,
MimeWeight mime_types[],
@@ -456,7 +457,7 @@
character = file_name[len - 1];
if (ignore_case)
- character = _xdg_ucs4_to_lower (character);
+ character = tolower (character);
assert (character != 0);
@@ -511,11 +512,11 @@
}
static int
-cache_glob_lookup_suffix (xdg_unichar_t *file_name,
- int len,
- int ignore_case,
- MimeWeight mime_types[],
- int n_mime_types)
+cache_glob_lookup_suffix (const char *file_name,
+ int len,
+ int ignore_case,
+ MimeWeight mime_types[],
+ int n_mime_types)
{
int i, n;
@@ -557,7 +558,6 @@
MimeWeight mimes[10];
int n_mimes = 10;
int i;
- xdg_unichar_t *ucs4;
int len;
assert (file_name != NULL && n_mime_types > 0);
@@ -567,12 +567,11 @@
if (n > 0)
return n;
- ucs4 = _xdg_convert_to_ucs4 (file_name, &len);
- n = cache_glob_lookup_suffix (ucs4, len, FALSE, mimes, n_mimes);
+ len = strlen (file_name);
+ n = cache_glob_lookup_suffix (file_name, len, FALSE, mimes, n_mimes);
if (n == 0)
- n = cache_glob_lookup_suffix (ucs4, len, TRUE, mimes, n_mimes);
- free(ucs4);
+ n = cache_glob_lookup_suffix (file_name, len, TRUE, mimes, n_mimes);
/* Last, try fnmatch */
if (n == 0)
Modified: trunk/gio/xdgmime/xdgmimeglob.c
==============================================================================
--- trunk/gio/xdgmime/xdgmimeglob.c (original)
+++ trunk/gio/xdgmime/xdgmimeglob.c Fri Jan 9 05:19:17 2009
@@ -36,6 +36,7 @@
#include <assert.h>
#include <string.h>
#include <fnmatch.h>
+#include <ctype.h>
#ifndef FALSE
#define FALSE (0)
@@ -297,7 +298,7 @@
static int
_xdg_glob_hash_node_lookup_file_name (XdgGlobHashNode *glob_hash_node,
- xdg_unichar_t *file_name,
+ const char *file_name,
int len,
int ignore_case,
MimeWeight mime_types[],
@@ -312,7 +313,7 @@
character = file_name[len - 1];
if (ignore_case)
- character = _xdg_ucs4_to_lower(character);
+ character = tolower(character);
for (node = glob_hash_node; node && character >= node->character; node = node->next)
{
@@ -392,15 +393,13 @@
}
}
- ucs4 = _xdg_convert_to_ucs4 (file_name, &len);
- n = _xdg_glob_hash_node_lookup_file_name (glob_hash->simple_node, ucs4, len, FALSE,
+ len = strlen (file_name);
+ n = _xdg_glob_hash_node_lookup_file_name (glob_hash->simple_node, file_name, len, FALSE,
mimes, n_mimes);
if (n == 0)
- n = _xdg_glob_hash_node_lookup_file_name (glob_hash->simple_node, ucs4, len, TRUE,
+ n = _xdg_glob_hash_node_lookup_file_name (glob_hash->simple_node, file_name, len, TRUE,
mimes, n_mimes);
- free(ucs4);
- /* FIXME: Not UTF-8 safe */
if (n == 0)
{
for (list = glob_hash->full_list; list && n < n_mime_types; list = list->next)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]