Use g_atomic_pointer_set instead of old homegrown version now that we have
[platform/upstream/glib.git] / ChangeLog
1 2006-05-10  Sebastian Wilhelmi  <wilhelmi@google.com>
2
3         * glib/gthread.c: Use g_atomic_pointer_set instead of old
4         homegrown version now that we have it. (#335198, Chris Wilson)
5
6         * gthread/gthread-posix.c, gthread/gthread-win32.c: Prevent
7         calling into g_cond_wait resp. g_mutex_lock/unlock directly to
8         avoid recursions into the errorcheking mutex code (and out of
9         principle anyway). (#335198, Chris Wilson)
10
11         * tests/errorcheck-mutex-test.c: Adapt to GLib coding standards.
12
13 2006-05-09  Sebastian Wilhelmi  <wilhelmi@google.com>
14
15         * glib/gthreadinit.h: Renamed to glib/gthreadprivate.h and moved
16         system thread identifier comparision and assignment macros from
17         glib/gthread.c to glib/gthreadprivate.h.
18
19         * glib/Makefile.am, glib/gatomic.c, glib/gconvert.c, glib/gmain.c,
20         glib/gmem.c, glib/gmessages.c, glib/grand.c, glib/gslice.c,
21         glib/gthread.c, glib/gutils.c, gthread/gthread-impl.c: Use
22         glib/gthreadprivate.h instead of glib/gthreadinit.h.
23
24         * gthread/gthread-impl.c: Use GSystemThread instead of GThread for
25         owner determination. (#311043, jylefort@FreeBSD.org)
26
27         * tests/Makefile.am, tests/errorcheck-mutex-test: New test program
28         to test for all checked violations.
29
30         * glib/gprintf.c, glib/gspawn-win32.c, glib/gutf8.c,
31         gthread/gthread-impl.c, gthread/gthread-posix.c,
32         gthread/gthread-win32.c: Use canonical include form for internal
33         headers. config.h is always there.
34
35         * Remove obsolete gthread/gthread-solaris.c.
36
37 2006-05-08  Matthias Clasen  <mclasen@redhat.com>
38
39         * tests/convert-test.c (test_one_half): Use encoding names which 
40         may work better on Solaris.  (#340434, Alessandro Vesely)
41
42         * tests/keyfile-test.c (test_number): Add some tests for
43         invalid floating point numbers.
44
45         * glib/gkeyfile.c (g_key_file_parse_value_as_double): Return
46         an error for the empty string.  (#339105, Morten Welinder)
47
48         * glib/gscanner.c (g_scanner_config_template): Make const,
49         noticed by Kjartan Maraas.
50
51 2006-05-06  Matthias Clasen  <mclasen@redhat.com>
52
53         * glib/gkeyfile.c (g_key_file_set_string_list)
54         (g_key_file_set_locale_string_list): Fix invalid memory
55         reads.  (#340816, Nick Treleaven)
56
57 2006-05-04  Alexander Larsson  <alexl@redhat.com>
58
59         * glib/gbase64.c: (g_base64_decode_step):
60         Fix OOB write (#340538)
61
62 2006-05-03  Matthias Clasen  <mclasen@redhat.com>
63
64         * tests/base64-test.c: Add some more tests.
65
66         * glib/gbase64.c (g_base64_decode_step): Avoid writing
67         beyond the guaranteed lenght of the output buffer, if
68         there is padding.
69
70         * tests/base64-test.c (test_incremental): Use malloced memory
71         instead of stack-allocated, so that MALLOC_CHECK_=2 catches
72         the OOB write...
73
74         * glib/gbookmarkfile.c (g_bookmark_file_load_from_data): Remove
75         an overzealous return_if_fail check that causes make check to 
76         fail.
77
78 2006-05-02  Matthias Clasen  <mclasen@redhat.com>
79
80         * configure.in: Bump version
81         
82         * === Released 2.11.0 ===
83
84         * NEWS: Updates
85
86         * tests/casemap.txt: 
87         * tests/casefold.txt: Regenerate from Unicode 5.0 data. 
88
89 Tue May  2 15:00:00 2006  Tim Janik  <timj@gtk.org>
90
91         * glib/guniprop.c: Make interval_compare static.
92
93         * tests/gobject/deftype.c: added test code from Behdad Esfahbod, 
94         see #337128.
95
96 Tue May  2 14:18:25 2006  Tim Janik  <timj@gtk.org>
97
98         * glib/goption.c (g_option_context_parse): fixed leak in short
99         option parsing. rewrote parts of the code to be more concise to
100         enhance readability. fixed exaggerated uses of strlen.
101
102 2006-04-28  Behdad Esfahbod  <behdad@gnome.org>
103
104         * glib/guniprop.c: #include <stdlib.h>
105
106 2006-04-27  Matthias Clasen  <mclasen@redhat.com>
107
108         * glib/glib.symbols: Add g_unichar_iswide_cjk.
109         * glib/guniprop.c: Add a "Since: 2.12".
110
111         * NEWS: Updates
112
113 2006-04-27  Behdad Esfahbod  <behdad@gnome.org>
114
115         * docs/reference/glib/glib-sections.txt,
116         * glib/gunicode.h glib/guniprop.c: Implement g_unichar_iswide_cjk().
117         (#105626)
118
119 2006-04-27  Matthias Clasen  <mclasen@redhat.com>
120
121         * glib/gbookmarkfile.c (g_bookmark_file_set_description) 
122         (g_bookmark_file_set_title, g_bookmark_file_set_icon): 
123         Remove some special-casing of empty string which led to 
124         dangling pointers.  (#339337, Morten Welinder)
125         (expand_exec_line): Don't use printf() needlessly, handle
126         trailing '%' gracefully.  (#339338, Morten Welinder)
127         (is_element_full): Silence the compiler.
128         (g_bookmark_file_dump, bookmark_metadata_dump): 
129         (bookmark_app_info_dump): Escape strings before dumping 
130         them in xml.  (#339340, Morten Welinder)
131
132 2006-04-27  Behdad Esfahbod  <behdad@gnome.org>
133
134         * glib/gunibreak.h, glib/gunichartables.h: Regenerated using
135         Unicode Character Database 5.0 beta.
136
137 2006-04-26  Matthias Clasen  <mclasen@redhat.com>
138
139         * glib/grand.c (g_rand_new): Don't repeat a failed fclose()
140         call, since that invokes undefined behaviour.  (Coverity)
141
142 2006-04-25  Matthias Clasen  <mclasen@redhat.com>
143
144         * glib/gbookmarkfile.c (is_element_full): Avoid a possible
145         NULL dereference (found by Coverity), also avoid some 
146         pointless strdups.
147
148         * tests/keyfile-test.c (test_comments): Add a test for
149         the previous change.
150
151         * glib/gkeyfile.c (g_key_file_lookup_group_node): Remove
152         redundant code.
153         (g_key_file_get_group_comment): Don't dereference before
154         checking for NULL.  (#338572, Coverity, Pascal Terjan)
155
156 2006-04-19  Matthias Clasen  <mclasen@redhat.com>
157
158         * glib/gdataset.c: Add some missing Since: 2.8 tags.
159
160 2006-04-19  Tor Lillqvist  <tml@novell.com>
161
162         * glib/gatomic.c: Adapt to the changed prototype of
163         InterlockedCompareExchange() in newer SDKs. Use
164         InterlockedCompareExchangePointer() when applicable. (#155884,
165         John Ehresman)
166
167 2006-04-18  Matthias Clasen  <mclasen@redhat.com>
168
169         * glib/gkeyfile.h:
170         * glib/glib.symbols:
171         * glib/gkeyfile.c: Add api to get and set doubles and 
172         lists of doubles.  (#164719, Maurizio Monge, Dom Lachowicz)
173
174         * tests/keyfile-test.c: Add tests for new api.
175
176         * glib/gkeyfile.c (g_key_file_add_group): Accept duplicate
177         groups.  (#157877, Sebastien Bacher)
178
179         * tests/keyfile-test.c: Add tests for duplicate key and
180         duplicate group handling.
181
182 2006-04-17  Matthias Clasen  <mclasen@redhat.com>
183
184         * glib/gcompletion.c (g_completion_complete_utf8): Make passing
185         NULL for new_prefix work as documented.  (#338845, Yevgen Muntyan)
186
187         * tests/completion-test.c: Test that passing NULL for 
188         new_prefix in g_completion_complete_utf8 works.
189
190 2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>
191
192         * configure.in: Remove obsolete entry for no_NO.
193         * po/no.po: And the translation.
194
195 2006-04-16  Matthias Clasen  <mclasen@redhat.com>
196
197         * glib/gdate.c (g_date_fill_parse_tokens): Avoid an array
198         overrun.  (Coverity, fix by Pascal Terjan)
199
200 2006-04-12  Bastien Nocera  <hadess@hadess.net>
201
202         reviewed by: Matthias Clasen <mclasen@redhat.com>
203
204         * glib/gconvert.c: add more details about which RFC is concerned
205         when using g_filename_to_uri (#337553)
206
207 2006-04-12  Matthias Clasen  <mclasen@redhat.com>
208
209         * glib/goption.c (parse_arg): Add an assert to make it
210         clear when value can be NULL.
211
212 2006-04-07  Martyn Russell  <martyn@imendio.com>
213
214         * tests/threadpool-test.c: (test_thread_stop_unused): Removed an
215         assertion which can fail and is not a critical test.
216
217 2006-04-07  Hans Breuer  <hans@breuer.org>
218
219         * glib/makefile.msc.in : added gbase64.obj and derive the static libs
220         name from auto* variables
221         * glib/makefile.msc.in : link user32.lib for MessageBox()
222
223 2006-04-07  Martyn Russell  <martyn@imendio.com>
224
225         * glib/gasyncqueue.[ch]: Added private API
226         _g_async_queue_get_mutex so that g_thread_pool_free() can use the
227         async queue mutex. 
228         
229         * glib/gthreadpool.c: Make sure
230         g_thread_pool_stop_unused_threads() actually stops unused threads
231         and global limits (like max idle time and max unused threads) can
232         be set without creating a thread pool first. Fixed #335215 (patch
233         from Chris Wilson).  
234         
235         * tests/threadpool-test.c: Added two new tests, tests setting
236         global limits before creating a thread pool. The second test
237         makes sure unused threads are actually stopped when using the
238         g_thread_pool_stop_unused_threads(). 
239
240 2006-04-05  Matthias Clasen  <mclasen@redhat.com>
241
242         * glib/gnulib/vasnprintf.c (vasnprintf): Make
243         long long printing work if snprintf is not 
244         available.  (#332841, Michael McDonald)
245
246 2006-04-05  Behdad Esfahbod  <behdad@gnome.org>
247
248         * tests/option-test.c: Check the return value of g_get_prgname for
249         NULL before passing to strcmp.
250
251         * tests/slice-test.c: Report the correct name in Usage summary.
252
253 2006-04-05  Matthias Clasen  <mclasen@redhat.com>
254
255         * tests/run-collate-tests.sh: Fix up shell script.
256
257         * tests/option-test.c (arg_test5): Skip the test if
258         setting the locale fails.
259         (empty_test1): Reset prgname before the test.
260
261         * tests/Makefile.am: Arrange for run-bookmark-test.sh
262         to be run by make check.
263
264         * tests/utf8-pointer.c: 
265         * tests/tree-test.c: Silence warnings.
266
267 2006-04-04  Matthias Clasen  <mclasen@redhat.com>
268
269         * glib/glib.symbols:
270         * glib/gbase64.[hc]: Add G_GNUC_MALLOC where
271         appropriate, use glib types.
272
273 2006-04-04  Alexander Larsson  <alexl@redhat.com>
274
275         * glib/Makefile.am:
276         * glib/gbase64.[ch]:
277         * glib/glib.symbols:
278         Add base64 encode/decode functions
279         
280         * glib/glib.h:
281         Include gbase64.h
282         
283         * tests/Makefile.am:
284         * tests/base64-test.c:
285         Tests for base64 functions
286
287 2006-04-04  Matthias Clasen  <mclasen@redhat.com>
288
289         * glib/gdate.c: Move short_month_names and long_month_names
290         to bss.
291
292         * glib/gspawn-win32.c (g_spawn_error_quark):
293         * glib/gspawn.c (g_spawn_error_quark):
294         * glib/gshell.c (g_shell_error_quark):
295         * glib/gmarkup.c (g_markup_error_quark):
296         * glib/goption.c (g_option_error_quark):
297         * glib/gkeyfile.c (g_key_file_error_quark):
298         * glib/giochannel.c (g_io_channel_error_quark):
299         * glib/gfileutils.c (g_file_error_quark):
300         * glib/gconvert.c (g_convert_error_quark):
301         * glib/gbookmarkfile.c (g_bookmark_file_error_quark):
302         * glib/gthread.c (g_thread_error_quark): No point in making
303         the error path fast by caching quarks.
304
305         * glib/gbookmarkfile.c: Make the parser struct const.
306
307 2006-04-04  Behdad Esfahbod  <behdad@gnome.org>
308
309         * glib/gbookmarkfile.c: Fix accidentally broken build.
310
311 2006-04-03  Matthias Clasen  <mclasen@redhat.com>
312
313         * glib/gbookmarkfile.c: Don't include sys/time.h  (#337027,
314          Kazuki IWAMOTO)
315
316 2006-03-31  Tor Lillqvist  <tml@novell.com>
317
318         * glib/gstdio.c (g_remove): Revert change below. It wasn't a good
319         idea after all, says the original bug reporter. See bug for
320         discussion.
321
322 2006-03-30  Tor Lillqvist  <tml@novell.com>
323
324         * glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove()
325         fails with errno set to ENOENT, to leave errno set to EACCESS if
326         that is the problem. (#334799, Yevgen Muntyan)
327
328 2006-03-30  Matthias Clasen  <mclasen@redhat.com>
329
330         * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync
331         the parameter names with the .h files, otherwise gtk-doc
332         misbehaves.
333
334 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
335
336         * tests/.cvsignore: Add bookmarkfile-test to the ignored files.
337
338 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
339
340         * tests/Makefile.am:
341         * tests/bookmarkfile-test.c:
342         * tests/run-bookmark-test.sh:
343         * tests/bookmarks/*.xbel: Add test suite for GBookmarkFile.
344
345 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
346
347         * docs/reference/glib/glib-docs.sgml:
348         * docs/reference/glib/glib-sections.txt:
349         * docs/reference/glib/tmpl/bookmarkfile.sgml: Add documentation for
350         GBookmarkFile to GLib's reference guide.
351
352 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
353
354         * glib/glib.h:
355         * glib/gbookmarkfile.h
356         * glib/gbookmarkfile.c: Add GBookmarkFile, a parser for files
357         containing bookmarks stored using the Desktop Bookmark
358         specification. Fixes bug #327662.
359
360         * glib/glib.symbols:
361         * glib/Makefile.am:
362         * glib/makefile.msc.in:
363         * glib/makefile.mingw.in: Build glue for GBookmarkFile.
364
365 2006-03-27  Dom Lachowicz  <cinamod@hotmail.com>
366
367         * tests/option-test.c: Copy-and-paste error slipped into test5. Enable
368         test5, as per Matthias' comments in bug 329548#c11.
369
370         Change a gboolean to an int. Fixes bug #329789.
371
372         * configure.in: Bump version number to 2.11.0
373         
374 2006-03-27  Matthias Clasen  <mclasen@redhat.com>
375
376         Add support for floating point numbers to goption.
377         (#329548, Behdad Esfahbod, patch by Antoine Dopffer and 
378          Dom Lachowicz)
379
380         * glib/goption.h:
381         * glib/goption.c: Support double arguments.
382
383         * tests/option-test.c: Test double arguments.`
384
385 2006-03-26  Matthias Clasen  <mclasen@redhat.com>
386
387         * glib/goption.c (g_option_context_new): Improve the description
388         of parameter_string in the docs.  (#336085, Claudio Saavedra)
389
390 2006-03-24  Martyn Russell  <martyn@imendio.com>
391
392         * glib/gthreadpool.c: Updated the documentation to explain that
393         when the maximum threads is > 1 the sort functionality is not 100%
394         accurate due to the ramdom nature of the scheduler choosing which
395         threads to execute. Fixes bug #334943.
396
397         * tests/threadpool-test.c: Disabled the debugging by default and
398         fixed the sort test to set the maximum threads to 1 to guarantee
399         the thread entry function is called in order. 
400
401 2006-03-23  Matthias Clasen  <mclasen@redhat.com> 
402
403         === Branch for 2.10 ===