Fix xdgmime bug #18109: implement better use of magic result
[rox-filer.git] / ChangeLog
blob85e0504171ab69e458ab4c42b24ab87b167a5543
1 2009-10-06  Bastien Nocera  <hadess@hadess.net>
3         * src/xdgmimecache.c (cache_glob_lookup_file_name):
4         * src/xdgmimeglob.c (_xdg_glob_hash_lookup_file_name):
5         Remove unused variables
7 2009-10-02  Alexander Larsson  <alexl@redhat.com>
9         * src/xdgmime.c: (xdg_mime_get_icon):
10         * src/xdgmimecache.c: (_xdg_mime_cache_get_icon):
11         Fix mime lookup order, imported from glib copy.
12         Fixes gnome bug #555711
14 2009-10-02  Alexander Larsson  <alexl@redhat.com>
16         * src/xdgmimecache.c: (cache_magic_matchlet_compare_to_data):
17         Use correct bounds check for magic ranges
19 2009-10-02  Alexander Larsson  <alexl@redhat.com>
21         * src/xdgmimecache.c: (cache_glob_lookup_literal),
22         (cache_glob_lookup_fnmatch), (cache_glob_node_lookup_suffix),
23         (cache_glob_lookup_suffix), (ascii_tolower),
24         (cache_glob_lookup_file_name):
25         * src/xdgmimeglob.c: (_xdg_glob_list_append),
26         (_xdg_glob_hash_insert_ucs4), (_xdg_glob_hash_insert_text),
27         (_xdg_glob_hash_node_lookup_file_name), (ascii_tolower),
28         (_xdg_glob_hash_lookup_file_name), (_xdg_glob_hash_append_glob):
29         Support the case-sensitive attribute
31 2009-10-02  Alexander Larsson  <alexl@redhat.com>
33         * src/xdgmimecache.c: (_xdg_mime_cache_new_from_file):
34         Support reading cache files with minor number 2
36 2009-10-02  Alexander Larsson  <alexl@redhat.com>
38         * src/xdgmime.c: (xdg_mime_init_from_directory):
39         * src/xdgmimeglob.c: (_xdg_glob_hash_append_glob),
40         (_xdg_mime_glob_read_from_file):
41         * src/xdgmimeglob.h:
42         Read the new updated glob2 format with flags
44 2009-03-09  Bastien Nocera  <hadess@hadess.net>
46         * src/test-mime.c (test_one_icon): Fix possible
47         crash when xdg_mime_get_icon() returns NULL, spotted by
48         Sanel Zukan <sanelz@gmail.com> (Closes: #20555)
50 2009-01-08  Bastien Nocera  <hadess@hadess.net>
52         * src/xdgmime.c (xdg_mime_shutdown): Patch from
53         Carlos Garcia Campos <carlosgc@gnome.org> to
54         fix a memory leak on shutdown (Closes: #16972)
56 2008-09-27  Bastien Nocera  <hadess@hadess.net>
58         * src/xdgmime.c (xdg_dir_time_list_add): Patch from
59         Christian Persch, closing a memleak (Closes: #17464)
61 2008-06-09  Bastien Nocera  <hadess@hadess.net>
63         * src/xdgmimecache.c (cache_glob_node_lookup_suffix):
64         Patch by Matthias Clasen <mclasen@redhat.com> to implement
65         the compact suffix tree
67 2008-06-05  Bastien Nocera  <hadess@hadess.net>
69         * src/xdgmimecache.c (cache_glob_node_lookup_suffix):
70         Patch by Matthias Clasen <mclasen@redhat.com> to fix reading
71         the suffix lookup (wrong offsets when reading the mime-type
72         offset and weight)
74 2008-06-03  Bastien Nocera  <hadess@hadess.net>
76         * src/xdgmime.c (xdg_mime_dump):
77         * src/xdgmimecache.c (cache_glob_node_lookup_suffix),
78         (dump_glob_node), (_xdg_mime_cache_glob_dump):
79         * src/xdgmimecache.h: dumping code for the suffix reverse tree
80         from Matthias Clasen <mclasen@redhat.com>, and hooked up in
81         xdg_mime_dump, init the cache in xdg_mime_dump() in case
82         it's the only xdgmime function called
84 2008-06-03  Bastien Nocera  <hadess@hadess.net>
86         * src/xdgmimecache.c: Patch from Matthias Clasen
87         <mclasen@redhat.com>: Bump the cache version to 1.1
89 2008-06-03  Bastien Nocera  <hadess@hadess.net>
91         * src/Makefile:
92         * src/test-mime.c (test_one_icon), (test_icons), (main):
93         * src/xdgmime.c (xdg_mime_init_from_directory), (xdg_mime_init),
94         (xdg_mime_get_icon), (xdg_mime_get_generic_icon):
95         * src/xdgmime.h:
96         * src/xdgmimecache.c (cache_lookup_icon),
97         (_xdg_mime_cache_get_generic_icon), (_xdg_mime_cache_get_icon):
98         * src/xdgmimecache.h:
99         * src/xdgmimeicon.c:
100         * src/xdgmimeicon.h: Patch from Matthias Clasen
101         <mclasen@redhat.com>: Add icon and generic-icon support
103 2008-06-03  Bastien Nocera  <hadess@hadess.net>
105         * src/xdgmimecache.c (cache_glob_lookup_file_name):
106         * src/xdgmimeglob.c (_xdg_glob_hash_insert_text),
107         (_xdg_glob_hash_lookup_file_name):
108         * src/xdgmimeint.c (_xdg_convert_to_ucs4), (_xdg_reverse_ucs4):
109         * src/xdgmimeint.h: Patch from Matthias Clasen
110         <mclasen@redhat.com>: Cleanups
112 2008-06-03  Bastien Nocera  <hadess@hadess.net>
114         * src/xdgmimecache.c (cache_glob_node_lookup_suffix),
115         (cache_glob_lookup_suffix), (to_ucs4),
116         (cache_glob_lookup_file_name):
117         * src/xdgmimeglob.c (_xdg_glob_hash_insert_ucs4), (to_ucs4),
118         (ucs4_reverse), (_xdg_glob_hash_insert_text),
119         (_xdg_glob_hash_node_lookup_file_name),
120         (_xdg_glob_hash_lookup_file_name): Patch from Matthias Clasen
121         <mclasen@redhat.com>: Use reverted suffix trees
123 2008-06-03  Bastien Nocera  <hadess@hadess.net>
125         * src/test-mime.c (test_subclassing), (test_one_match),
126         (test_matches), (main): Patch from Matthias Clasen
127         <mclasen@redhat.com>: Add some glob tests
129 2008-06-03  Bastien Nocera  <hadess@hadess.net>
131         * src/xdgmime.c (xdg_mime_dump): Patch from Matthias Clasen
132         <mclasen@redhat.com>: Include globs in the dump
134 2008-06-03  Bastien Nocera  <hadess@hadess.net>
136         * src/xdgmime.c (xdg_mime_init_from_directory):
137         * src/xdgmimecache.c (cache_glob_lookup_literal),
138         (cache_glob_lookup_fnmatch), (cache_glob_node_lookup_suffix),
139         (cache_glob_lookup_suffix), (find_stopchars),
140         (compare_mime_weight), (cache_glob_lookup_file_name),
141         (_xdg_mime_cache_get_mime_type_for_file):
142         * src/xdgmimeglob.c (_xdg_glob_list_append),
143         (_xdg_glob_hash_node_dump), (_xdg_glob_hash_insert_text),
144         (_xdg_glob_hash_node_lookup_file_name), (compare_mime_weight),
145         (_xdg_glob_hash_lookup_file_name), (_xdg_glob_determine_type),
146         (_xdg_glob_hash_append_glob), (_xdg_glob_hash_dump),
147         (_xdg_mime_glob_read_from_file):
148         * src/xdgmimeglob.h: Patch from Matthias Clasen
149         <mclasen@redhat.com>: Implement glob weights
151 2008-06-03  Bastien Nocera  <hadess@hadess.net>
153         * src/xdgmimeglob.c (_xdg_glob_hash_insert_text),
154         (_xdg_glob_hash_node_lookup_file_name), (_xdg_glob_determine_type),
155         (_xdg_mime_glob_read_from_file): Patch from Matthias Clasen
156         <mclasen@redhat.com>: remove dead code and some trivial cleanups
158 2008-06-02  Bastien Nocera  <hadess@hadess.net>
160         * src/Makefile: Remove test-mime-data on clean
161         * src/test-mime-data.c (test_by_data): Fix for API changes below
163         * src/xdgmime.c (xdg_dir_time_list_add),
164         (xdg_mime_init_from_directory), (xdg_check_file), (xdg_check_dir),
165         (xdg_mime_get_mime_type_for_data),
166         (xdg_mime_get_mime_type_for_file),
167         (xdg_mime_get_mime_type_from_file_name),
168         (xdg_mime_get_mime_types_from_file_name), (xdg_mime_shutdown),
169         (xdg_mime_get_max_buffer_extents), (_xdg_mime_unalias_mime_type),
170         (xdg_mime_media_type_equal), (_xdg_mime_mime_type_subclass),
171         (xdg_mime_list_mime_parents):
172         * src/xdgmime.h:
173         * src/xdgmimealias.h:
174         * src/xdgmimecache.c (cache_magic_lookup_data),
175         (cache_alias_lookup), (cache_glob_lookup_literal),
176         (cache_glob_lookup_fnmatch), (cache_glob_node_lookup_suffix),
177         (cache_glob_lookup_suffix), (find_stopchars),
178         (_xdg_mime_cache_get_max_buffer_extents),
179         (cache_get_mime_type_for_data),
180         (_xdg_mime_cache_get_mime_type_for_data),
181         (_xdg_mime_cache_get_mime_type_for_file),
182         (_xdg_mime_cache_get_mime_type_from_file_name),
183         (_xdg_mime_cache_get_mime_types_from_file_name),
184         (_xdg_mime_cache_mime_type_subclass),
185         (_xdg_mime_cache_list_mime_parents):
186         * src/xdgmimecache.h:
187         * src/xdgmimeglob.c (_xdg_glob_hash_node_lookup_file_name):
188         * src/xdgmimeglob.h:
189         * src/xdgmimemagic.c (_xdg_mime_magic_parse_magic_line),
190         (_xdg_mime_magic_lookup_data):
191         * src/xdgmimemagic.h:
192         * src/xdgmimeparent.h:
194         Merge from downstream changes in GIO/GTK+:
195         - Rename _xdg_mime_caches to _caches and make sure it's not exported
196         - Rework the timestamp checking code
197         to protect against duplicate directories in XDG_DATA_DIRS.
198         - Fix a thinko that leads to constantly reloading
199         the mime data if a mime.cache is present.
200         - Support more than 2 duplicate globs
201         - Add xdg_mime_get_mime_types_from_file_name()
202         - xdg_mime_media_type_equal() doesn't require an _init after all
203         - Handle super-types in _xdg_mime_mime_type_subclass()
204         - Make cache_get_mime_type_for_data() and
205         _xdg_mime_magic_lookup_data() return the priority of the
206         matching mime-type
207         - Fix _xdg_mime_cache_list_mime_parents returning duplicate parents in
208         some cases
210 2008-06-02  Bastien Nocera  <hadess@hadess.net>
212         * src/xdgmime.c (xdg_mime_init_from_directory), (xdg_mime_dump):
213         * src/xdgmimecache.c (cache_glob_lookup_literal),
214         (cache_glob_lookup_fnmatch), (cache_glob_node_lookup_suffix),
215         (cache_glob_lookup_suffix), (find_stopchars),
216         (cache_glob_lookup_file_name),
217         (_xdg_mime_cache_get_mime_type_for_file):
218         * src/xdgmimeglob.c (_xdg_glob_list_append),
219         (_xdg_glob_list_prepend), (_xdg_glob_hash_node_dump),
220         (_xdg_glob_hash_insert_text),
221         (_xdg_glob_hash_node_lookup_file_name),
222         (_xdg_glob_hash_lookup_file_name), (_xdg_glob_determine_type),
223         (_xdg_glob_hash_append_glob), (_xdg_glob_hash_dump),
224         (_xdg_mime_glob_read_from_file):
225         * src/xdgmimeglob.h: Revert previous patches, we need to rebase first
227 2008-06-02  Bastien Nocera  <hadess@hadess.net>
229         * src/test-mime.c (test_subclassing), (test_one_match),
230         (test_matches), (main): Patch from Matthias Clasen
231         <mclasen@redhat.com> to add some globs tests to the
232         test program
234 2008-06-02  Bastien Nocera  <hadess@hadess.net>
236         * src/xdgmime.c (xdg_mime_dump): Patch from Matthias Clasen
237         <mclasen@redhat.com> to include globs output in the dump
239 2008-06-02  Bastien Nocera  <hadess@hadess.net>
241         * src/xdgmime.c (xdg_mime_init_from_directory):
242         * src/xdgmimecache.c (cache_glob_lookup_literal),
243         (cache_glob_lookup_fnmatch), (cache_glob_node_lookup_suffix),
244         (cache_glob_lookup_suffix), (find_stopchars),
245         (compare_mime_weight), (cache_glob_lookup_file_name),
246         (_xdg_mime_cache_get_mime_type_for_file):
247         * src/xdgmimeglob.c (_xdg_glob_list_append),
248         (_xdg_glob_hash_node_dump), (_xdg_glob_hash_insert_text),
249         (_xdg_glob_hash_node_lookup_file_name), (compare_mime_weight),
250         (_xdg_glob_hash_lookup_file_name), (_xdg_glob_determine_type),
251         (_xdg_glob_hash_append_glob), (_xdg_glob_hash_dump),
252         (_xdg_mime_glob_read_from_file):
253         * src/xdgmimeglob.h: Patch from Matthias Clasen <mclasen@redhat.com>
254         to implement glob weights
256 2008-06-02  Bastien Nocera  <hadess@hadess.net>
258         * src/xdgmimeglob.c (_xdg_glob_hash_insert_text),
259         (_xdg_glob_hash_node_lookup_file_name), (_xdg_glob_determine_type),
260         (_xdg_mime_glob_read_from_file): Patch from Matthias Clasen
261         <mclasen@redhat.com> to remove dead code and do some trivial changes
263 2008-04-18  Bastien Nocera  <hadess@hadess.net>
265         * src/xdgmimecache.c (cache_magic_lookup_data),
266         (_xdg_mime_cache_mime_type_subclass): Fix possible crasher when
267         XDG_DATA_DIRS contains the same directory twice, patch by Joe Shaw
268         <joeshaw@novell.com> (#12512)
270         Make _xdg_mime_cache_mime_type_subclass use the internal version of
271         xdg_mime_media_type_equal(), spotted by Federico Mena-Quintero
272         <federico@ximian.com>
274 2008-04-10  Bastien Nocera  <hadess@hadess.net>
276         * src/test-mime-data.c (main): Only error out when
277         the number of errors is different from the number of expected errors,
278         or when there's unexpected success
280 2007-08-28  Bastien Nocera  <hadess@hadess.net>
282         * src/.cvsignore:
283         * src/Makefile:
284         * src/test-mime-data.c: Add test-mime-data test program from
285         Matthias Clasen <mclasen@redhat.com> (Closes: #5210)
287 2007-06-04  Christian Neumair  <cneumair@gnome.org>
289         * src/xdgmime*.[ch]: Rename _caches to _xdg_mime_caches. Also
290         namespace all reserved symbols that are declared in headers using
291         XDG_RESERVED_ENTRY(), #7074 and #11124. Thanks to Yevgen Muntyan
292         <muntyan@tamu.edu> and Joe Marcus Clarke <marcus@freebsd.org>.
294 2007-06-02  Christian Neumair  <cneumair@gnome.org>
296         * src/xdgmime.[ch]: Move xdg_mime_type_unknown to .rodata.
297         * src/xdgmime.h: Add XDG_ENTRY() entry for xdg_mime_dump.
298         GTK+ resync.
300         * src/xdgmime.c: (_xdg_mime_alias_list_lookup): Initialize mime_type
301         to NULL instead of 0, GNOME #341812. Thanks to Kjartan Maraas
302         <kmaraas@gnome.org>.
304         * src/xdgmime.[ch]: (xdg_mime_media_type_equal),
305         (_xdg_mime_media_type_equal): Add private version of
306         xdg_mime_media_type_equal that doesn't call xdg_mime_init(), use it in
307         _xdg_mime_mime_type_subclass.
309 2007-06-02  Christian Neumair  <cneumair@gnome.org>
311         * src/xdgmimemagic.c: Fallback to getc() if getc_unlocked() is not
312         available, GNOME #381499. Thanks to Paul <ephraim_owns@hotmail.com>.
314 2007-06-01  Christian Neumair  <cneumair@gnome.org>
316         * src/xdgmime.c: (xdg_mime_get_mime_type_for_file): Only request two
317         MIME types from cache.
319         * src/xdgmime.c: (xdg_mime_dump): Dump cache.
321         * src/xdgmimecache.c: Warn if building without MMAP support.
323 2007-06-01  Christian Neumair  <cneumair@gnome.org>
325         * src/xdgmime.c: (xdg_lookup_cache_for_file), (xdg_check_dir):
326         Fix constant re-creation of memory MIME cache, #7495.
328 2007-06-01  Christian Neumair  <cneumair@gnome.org>
330         * src/xdgmimeglob.c: (_xdg_glob_hash_node_lookup_file_name): Don't
331         return NULL MIME types, #5241.
333 2007-06-01  Christian Neumair  <cneumair@gnome.org>
335         * src/xdgmime.c: (xdg_mime_shutdown): Fix cache variable name from last
336         commit.
338         * src/xdgmime.c: (xdg_mime_unalias_mime_type), (xdg_mime_mime_type_equal):
339         * src/xdgmime.h:
340         * src/xdgmimemagic.c: (_xdg_mime_magic_lookup_data):
341         Define and use private versions of functions that may lead to an
342         xdg_mime_init() call and thus to an invalid cache, and a crash - #6824.
343         Thanks to Joe Shaw <joeshaw@novell.com>.
345 2007-06-01  Christian Neumair  <cneumair@gnome.org>
347         * src/xdgmime.c: (xdg_mime_shutdown): Free caches, #7496.
348         Thanks to Yevgen Muntyan <muntyan@tamu.edu>.
350 2007-06-01  Christian Neumair  <cneumair@gnome.org>
352         * src/xdgmimecache.c: (cache_glob_node_lookup_suffix): Don't return
353         MIME types if cache suffix lookup returns empty string, #9544.
354         Thanks to Yevgen Muntyan <muntyan@tamu.edu>.
356 2007-06-01  Christian Neumair  <cneumair@gnome.org>
358         * src/xdgmimemagic.c: (_xdg_mime_magic_lookup_data): Fix issue where
359         MIME type was not detected when two MIME types with parent
360         relationship match and have equal priority, and child
361         was found before parent in cache, #9242.
362         Thanks to Tom Parker <freedesktop@tevp.net>.
364 2007-06-01  Christian Neumair  <cneumair@gnome.org>
366         * src/xdgmimecache.c: (_xdg_mime_cache_list_mime_parents): Fix
367         several problems with this function, #9560. Thanks to Yevgen Muntyan.
369 2007-06-01  Christian Neumair  <cneumair@gnome.org>
371         * src/xdgmimemagic.c: Don't declare errno, fixes build on Dragonfly
372         BSD, GNOME #336382.
374 2006-07-13  Christian Neumair  <chris@gnome-de.org>
376         * src/xdgmimemagic.c: (_xdg_mime_magic_parse_magic_line):
377         Only declare 'i' #if LITTLE_ENDIAN. Partially fixes GNOME #340277.
378         Thanks to James Andrewartha.
380 2006-03-02  Christian Neumair  <chris@gnome-de.org>
382         * src/xdgmimeglob.c: (_xdg_glob_hash_insert_text),
383         (_xdg_glob_hash_append_glob): Don't strdup the MIME type when passing
384         it to _xdg_glob_hash_insert_text, but let the function itself figure
385         out whether string duplication is needed. Fixes #5993.
386         Thanks to Martin Wehner.
388 2006-02-25  Christian Neumair  <chris@gnome-de.org>
390         * src/xdgmimemagic.c: (_xdg_mime_magic_lookup_data): Make
391         priority equality check more robust so that it works for three or more
392         matches. Also allow matchlets with 0 priority.
394 2006-02-19  Christian Neumair  <chris@gnome-de.org>
396         * src/xdgmimemagic.c: (_xdg_mime_magic_lookup_data): When two
397         unrelated MIME types with equal priorities match, don't assume one of
398         them matches.
399         http://bugzilla.gnome.org/show_bug.cgi?id=331719
401 2006-01-03  Christian Neumair  <chris@gnome-de.org>
403         * src/xdgmimemagic.c: (_xdg_mime_magic_lookup_data): Also consider
404         match priority for the returned MIME type.
406 2005-12-01  Christian Neumair  <chris@gnome-de.org>
408         * src/xdgmime.c: (xdg_mime_get_mime_type_from_file_name):
409         * src/xdgmimecache.c: (_xdg_mime_cache_get_mime_type_from_file_name):
410         Return XDG_MIME_TYPE_UNKNOWN if multiple MIME types match a simple
411         pattern.
413 2005-12-01  Matthias Clasen  <mclasen@redhat.com>
415         * src/xdgmimecache.h:
416         * src/xdgmimecache.c (_xdg_mime_cache_get_mime_type_for_file): 
417         Allow passing in a struct stat * to avoid re-stat()ing. 
418         Forgotten commit from an earlier entry.
420         * src/xdgmimecache.c (cache_glob_lookup_literal):
421         (cache_glob_lookup_fnmatch):
422         (cache_glob_node_lookup_suffix): Change these functions to
423         allow returning more than one mime type if identical globs
424         match.
426         * src/xdgmimemagic.h: 
427         * src/xdgmimeglob.h: 
428         * src/xdgmimemagic.c (_xdg_mime_magic_lookup_data): 
429         * src/xdgmimeglob.c (_xdg_glob_hash_lookup_file_name): 
430         Change these functions to allow returning more than one
431         mime type if identical globs match.
432         
433         * src/xdgmimecache.c (_xdg_mime_cache_get_mime_type_for_file): 
434         * src/xdgmime.c (xdg_mime_get_mime_type_for_file): 
435         If multiple identical globs match, use magic to disambiguate.
436         
437 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
439         * xdgmime.c (xdg_mime_list_mime_parents): Prevent
440         a segfault.
442 2005-10-18  Matthias Clasen  <mclasen@redhat.com>
443         
444         * src/xdgmime.c:
445         * src/xdgmimecache.h:
446         * src/xdgmimecache.c: Make the array of caches NULL-terminated
447         and rename it to _caches.  (#4011)
449         * src/xdgmime.h:
450         * src/xdgmime.c: Add a struct statbuf * argument to 
451         xdg_mime_get_mime_type_for_file().  (#3529)
453         * src/test-mime.c: Adjust callers. Add License.
455         * src/xdgmimecache.c: Make magic comparisons work correctly.
457 Thu Jun  9 23:55:25 2005  Jonathan Blandford  <jrb@redhat.com>
459         * src/xdgmime.c (xdg_mime_init_from_directory): patch from
460         federico to realloc the right size, #3506
462 2005-04-17  Christophe Fergeau  <teuf@gnome.org>
464         * src/xdgmimeint.c: fix gcc4 signedness warning
466 2005-04-17  Christophe Fergeau  <teuf@gnome.org>
468         * src/xdgmimemagic.c: (_xdg_mime_magic_matchlet_compare_to_data),
469         (_xdg_mime_magic_matchlet_compare_level),
470         (_xdg_mime_magic_lookup_data): when  magic patterns matches, check if
471         there aren't subtypes with matching patterns too, and if so, favour
472         the subtype over the parent type, should fix #2686
474 2005-04-16  Christophe Fergeau  <teuf@gnome.org>
476         * src/xdgmime.c: (xdg_mime_init_from_directory): fix leak when
477         mime.cache doesn't exist
479 2005-04-16  Christophe Fergeau  <teuf@gnome.org>
481         * src/test-mime.c: (main): disabled call to xdg_mime_dump for now
482         * src/xdgmimemagic.c: (_xdg_mime_magic_matchlet_compare_to_data):
483         fixed off by 1 error when handling offsets, fixes bug #2050 and 
484         partly bug #2359
486 Fri Apr  8 23:37:33 2005  Jonathan Blandford  <jrb@redhat.com>
488         * src/xdgmimecache.c: Actually add the file.  Also, patch from
489         Matthias Clasen <mclasen@redhat.com> to fix small bugs, #2939
491 Fri Apr  1 14:59:43 2005  Jonathan Blandford  <jrb@redhat.com>
493         * src/xdgmimecache.c: Patch from Matthias Clasen to mmap the
494         cached xdg file.
496 Mon Mar 28 13:58:32 2005  Jonathan Blandford  <jrb@redhat.com>
498         * src/xdgmimeglob.c (_xdg_glob_hash_insert_text): patch from
499         Matthias Clasen to handle globs that don't have '.' chars in
500         them.  As an example 'foo~' should match '*~'
502 Mon Mar 21 13:16:12 2005  Jonathan Blandford  <jrb@redhat.com>
504         * src/xdgmime.c (xdg_mime_shutdown): fix from  Axel Liljencrantz
505         <f97-ali@nada.kth.se> to free parent_list in shutdown.
507 2005-01-10  Christophe Fergeau  <teuf@gnome.org>
509         * src/xdgmimeglob.c: (_xdg_glob_hash_lookup_file_name): make previous
510         commit actually work...
512 2005-01-10  Christophe Fergeau  <teuf@gnome.org>
514         * src/xdgmimeglob.c: (_xdg_glob_hash_lookup_file_name): don't get
515         confused by multiple dots in filenames when doing extension matching
517 2004-12-13  Marco Pesenti Gritti  <marco@gnome.org>
519         * src/xdgmime.h:
521          wrap new API in XDG_ENTRY()
523 2004-12-13  Marco Pesenti Gritti  <marco@gnome.org>
525         * src/xdgmimeglob.c: (_xdg_glob_hash_lookup_file_name):
527         Do not assume the filename is UTF8. We just need to look
528         for the dot which is ASCII.
530 2004-12-09  Marco Pesenti Gritti  <marco@gnome.org>
532         * src/xdgmimeint.h:
534         Remove spacings I introduced by mistake
536 2004-12-09  Marco Pesenti Gritti  <marco@gnome.org>
538         * src/xdgmimealias.c: (_xdg_mime_alias_read_from_file):
539         * src/xdgmimeint.c: (_xdg_ucs4_to_lower):
540         * src/xdgmimeint.h:
541         * src/xdgmimeparent.c: (_xdg_mime_parent_read_from_file):
543         Check in Mariano Suárez-Alvarez <msuarezalvarez@arnet.com.ar> patch
544         for GNOME bug #160838.
546 2004-12-09  Marco Pesenti Gritti  <marco@gnome.org>
548         * src/xdgmimeglob.c: (_xdg_glob_hash_node_lookup_file_name):
549         * src/xdgmimeint.c: (_xdg_ucs4_to_lower):
550         * src/xdgmimeint.h:
552         Follow the freedesktop spec about case sensitiveness. Fix #732
554 2004-12-08  Christophe Fergeau  <teuf@gnome.org>
556         * src/xdgmimeglob.c: (_xdg_mime_glob_read_from_file): backing out
557         "fix" for bug #1048 since it frees memory that shouldn't be freed.
559 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
561         * src/xdgmimemagic.c: (_xdg_mime_magic_read_from_file):
563         Check that fread succeeded reading all chars. Fix #1049
565 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
567         * src/xdgmime.c:
568         * src/xdgmimealias.c:
569         * src/xdgmimeglob.c:
570         * src/xdgmimeint.c:
571         * src/xdgmimemagic.c:
572         * src/xdgmimeparent.c:
574         Include config.h. Fix #913
576 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
578         * src/xdgmimealias.c: (_xdg_mime_alias_list_lookup):
580         Fix a typo
582 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
584         * src/xdgmime.c: (xdg_mime_unalias_mime_type),
585         (xdg_mime_mime_type_equal), (xdg_mime_mime_type_subclass),
586         (xdg_mime_get_mime_parents):
587         * src/xdgmime.h:
589         Add apis to get parents and to unalias mime type
591 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
593         * src/xdgmimealias.c: (_xdg_mime_alias_list_lookup):
594         * src/xdgmimeparent.c: (_xdg_mime_parent_list_lookup):
596         Protect against stupid bsearch() implementations.  (#1961,
597         Morten Welinder)
599 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
601         * src/xdgmimeparent.c: (_xdg_mime_parent_read_from_file):
603         Initialize the parent field of the newly allocate list 
604         entry.  (#1916, Alex Larsson)
606 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
608         * src/xdgmimeglob.c: (_xdg_mime_glob_read_from_file):
610         Patch from Matthias Clasen <mclasen@redhat.com> to fix
611         a mem leak. Bug #1048
613 2004-12-08  Marco Pesenti Gritti  <marco@gnome.org>
615         * src/xdgmimeglob.h:
617         Patch from Michael.Wilson@bull.net to fix compile error on AIX
619 Sun Nov  7 02:25:21 2004  Jonathan Blandford  <jrb@redhat.com>
621         * src/xdgmime.h: Patch from Matthias Clasen <mclasen@redhat.com>
622         to add alias and inheritence support.
624 2004-09-16  Christophe Fergeau  <teuf@gnome.org>
626         * src/xdgmimeglob.c: (_xdg_glob_hash_free_nodes):
627         * src/xdgmimemagic.c: (_xdg_mime_magic_free): fix memory leaks, 
628           fixes http://bugzilla.gnome.org/show_bug.cgi?id=152771 and
629           http://bugzilla.gnome.org/show_bug.cgi?id=152768
631 Mon Jul 19 00:23:00 2004  Jonathan Blandford  <jrb@gnome.org>
633         * src/xdgmime.c (xdg_mime_register_reload_callback): register a
634         callback when we reload MIME data.
636         * src/xdgmime.c (xdg_mime_remove_callback): Add capability to
637         remove callback.
639 Sun Jul 18 20:56:22 2004  Jonathan Blandford  <jrb@gnome.org>
641         * src/xdgmime.c (xdg_mime_shutdown):
642         (xdg_mime_init): reread data when it changes on disk.
644 Thu May 27 16:18:14 2004  Jonathan Blandford  <jrb@gnome.org>
646         * src/xdgmime.h: move xdg_mime_shutdown into the XDG_ENTRY guard.
648 Thu May 27 15:02:13 2004  Jonathan Blandford  <jrb@gnome.org>
650         * src/xdgmimemagic.c (_xdg_mime_magic_read_magic_file): patch from
651         Hongli Lai <h.lai@chello.nl> to catch magic files that don't end
652         with a '\n'.
654 Fri Apr 30 11:56:01 2004  Jonathan Blandford  <jrb@gnome.org>
656         * src/xdgmimemagic.c (_xdg_mime_magic_read_a_number): make the
657         buffer the right size.  Reported by Morten Welinder, #136323
659 Sun Mar 21 23:56:46 2004  Jonathan Blandford  <jrb@gnome.org>
661         * src/xdgmimemagic.c: Patch from Arjan van de Ven
662         <arjanv@redhat.com> to do s/fgetc/getc_unlocked/g.
664 Wed Mar 10 22:28:41 2004  Jonathan Blandford  <jrb@gnome.org>
666         * src/xdgmimemagic.c (_xdg_mime_magic_read_a_number): fix usage of
667         isdigit.  Reported by Morten Welinder, #136323
669         * src/xdgmimemagic.c (_xdg_mime_magic_read_magic_file): patch from
670         Christophe Fergeau to reverse the order of the matchlet before
671         adding it to the list.
673         * src/xdgmimeint.h (_xdg_utf8_skip): patch from Alexander Larsson
674         to make extern.
676 Wed Jan 21 09:29:41 2004  Jonathan Blandford  <jrb@gnome.org>
678         * src/xdgmimemagic.c (_xdg_mime_magic_insert_match): dropped
679         patches.  Fix.
681         * src/xdgmimeglob.c (_xdg_glob_hash_free_nodes): dropped patches.
682         Fix.
684 Tue Jan 20 14:55:39 2004  Jonathan Blandford  <jrb@gnome.org>
686         * src/xdgmime.h (XDG_MIME_TYPE_UNKNOWN): move the definition so
687         that it catches the XDG_ENTRY mangling.
689         * src/xdgmimemagic.c: make some functions static
691 Tue Jan 20 14:34:26 2004  Jonathan Blandford  <jrb@gnome.org>
693         * src/xdgmime.c (xdg_mime_get_max_buffer_extents): add function so
694         that it's easy to get the max buffer extents.
696 Tue Jan 20 12:55:55 2004  Jonathan Blandford  <jrb@gnome.org>
698         * src/Makefile: Test prefix code
700         * src/xdgmime*.h: Fully use the prefix code
702         * src/xdgmime.c: finish the syncing from both GTK+ and gnome-vfs.
704 Tue Jan 13 16:21:04 2004  Jonathan Blandford  <jrb@gnome.org>
706         * src/xdgmime.[ch] (XDG_MIME_TYPE_UNKNOWN): make an extern const
707         char * so that comparisons can work.
709         * src/xdgmimeint.c (_xdg_utf8_to_ucs4): patch from Dave Jones
710         <davej@redhat.com> to make operations more explicit.
712 Tue Oct 28 15:09:06 2003  Jonathan Blandford  <jrb@redhat.com>
714         * README: Add a readme, and clarify the licensing terms of the
715         software.
717 Tue Oct 28 14:47:37 2003  Jonathan Blandford  <jrb@redhat.com>
719         * src/xdgmime.c (xdg_mime_shutdown): implement shutdown.  This
720         frees all memory and resets to an uninitialized state as best as
721         possible.
723 Mon Oct 27 11:45:58 2003  Jonathan Blandford  <jrb@redhat.com>
725         * src/xdgmimemagic.c (_xdg_mime_magic_read_a_number): strtol
726         returns a long, not an int.  Thanks to Manish Singh for pointing
727         this out.
729         * src/xdgmimemagic.c (_xdg_mime_magic_parse_magic_line): change
730         assertion to avoid a warning.
732 Tue Oct 21 15:56:55 2003  Jonathan Blandford  <jrb@gnome.org>
734         * Makefile: add a simple makefile
735         * src/Makefile: ditto
737 Tue Jul 22 15:37:45 2003  Jonathan Blandford  <jrb@gnome.org>
739         * xdgmime/xdgmime.c (xdg_mime_init): use XDG_DATA_HOME instead of
740         XDG_CONFIG_HOME.