implemented static debugging hash-tree to validate slice adresses and
[platform/upstream/glib.git] / ChangeLog
1 Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>
2
3         * glib/gslice.h, glib/gslice.c: implemented static debugging
4         hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
5         use abort() to exit in mem_error() to allow catching of these in gdb.
6         abort programs with a descriptive error message if g_thread_init() is
7         called after GSlice was in use. previously this just silently corrupted
8         the magazines.
9
10         * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte 
11         pointer alignment on 64bit systems and request smaller slice sizes
12         on 32bit systems.
13
14         * tests/slice-test.c: support '~' option flag to introduce slice 
15         allocation/release corruption with a significant probability. this
16         allowes testing of G_SLICE=debug-blocks.
17
18 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
19
20         * glib/gconvert.[hc]:
21         * glib/gfileutils.c:
22         * glib/giochannel.c:
23         * glib/goption.c:
24         * glib/gspawn.c:
25         * glib/gunicollate.c:
26         * glib/gutils.c:
27         * tests/timeloop-basic.c: 
28         Consistently use gsize rather than size_t.  (#333310,
29         Morten Welinder)
30
31 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
32
33         * configure.in: Use AC_CACHE_CHECK for the nl_langinfo
34         check.  (#304517, Lőrinczy Zsigmond)
35
36 2006-12-27  Tor Lillqvist  <tml@novell.com>
37
38         * glib/gwin32.h
39         * glib/gwin32.c (get_package_directory_from_module)
40         (g_win32_get_package_installation_directory)
41         (g_win32_get_package_installation_subdirectory): Add const to
42         gchar* arguments. (#384523, Yevgen Muntyan)
43         
44 2006-12-27  Ryan Lortie  <desrt@desrt.ca>
45
46         * glib/ghash.c: cache the value of the hash function
47         in the GHashNode.  this speeds up resizing the hash
48         table and it also allows a slight optimisation on
49         lookups.  (#388332)
50
51 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
52
53         * glib/gunicollate.c (g_utf8_collate_key): Don't modify
54         the current locale.  (#389300)
55
56 2006-12-26  Matthias Clasen  <mclasen@redhat.com>
57
58         * glib/gutf8.c: Add hints for locale-dependent interfaces.
59         * glib/gconvert.c: Add hints for locale-dependent interfaces.
60
61         * glib/gconvert.c (g_get_filename_charsets): Improve
62         formatting of docs. 
63
64 2006-12-26  Behdad Esfahbod  <behdad@gnome.org>
65
66         * configure.in: Use libtool to determine shared library suffix.
67         (#357245)
68
69 2006-12-24  Matthias Clasen  <mclasen@redhat.com>
70
71         * tests/run-collate-tests.sh:
72         * tests/unicode-collate.c: Silently skip tests if
73         we can't set LC_COLLATE to en_US.  (#336438)
74
75 2006-12-19  Matthias Clasen  <mclasen@redhat.com>
76
77         * glib/gkeyfile.c (g_key_file_is_key_name): Accept
78         '/', '+' and '.' in key names, since gnome-vfs uses
79         mime types as keys in some cache.
80
81         * tests/keyfile-test.c: Tests for the above.
82
83 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
84
85         * configure.in: Fix the broken poll test.  (#387260,
86         Christian Persch)
87
88         * glib/gmain.c (child_watch_helper_thread): Readd a
89         return which was removed as dead code a while ago.
90         icc may consider it dead, but gcc doesn't like non-void
91         functions without a return...  (#354707)
92
93         * tests/Makefile.am: Try a different fix for bug 346373.
94
95 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
96
97         Fix bug 161288:
98
99         * configure.in: Check for wcslen.
100
101         * glib/gnulib/vasnprintf.c: Handle wcslen missing.
102
103 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
104
105         * glib/gkeyfile.c: Accept '@' in locale names.
106
107         * glib/gkeyfile.c: Tighten up the check for allowed
108         key and group names.  (#343191, Tommi Komulainen)
109
110         * tests/keyfile-test.c: Test handling of key and group names.
111
112         * tests/Makefile.am: Don't use $RANDOM if the shell doesn't
113         have it.  (#346373, Thomas Klausner)
114
115 2006-12-17  Behdad Esfahbod  <behdad@gnome.org>
116
117         * glib/gstring.c: Improve docs about string functions taking a
118         length.  (#378727)
119
120 2006-12-17  Matthias Clasen  <mclasen@redhat.com>
121
122         * glib/gconvert.c:
123         * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
124         where gcc doesn't complain about it.
125
126         * glib/ghash.c: Make ref_count an int to avoid compiler
127         warnings.
128
129         * configure.in: Use AC_LANG_SOURCE for the clock test.
130         
131         * glib/gthreadpool.h:
132         * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
133         as parameter name.  (#379207, Christian Biere)
134
135         * glib/gspawn.c: Refer to g_child_watch_add() in addition
136         to waitpid().
137
138         * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
139         inline, and improve wording.  (#372598, Behdad Esfahbod)
140
141         * glib/gspawn.c: Add some pointers to the gdk_spawn_
142         variants.  (#338134, Federico Mena Quintero)
143
144         * configure.in: Make montonic clock test work again. Does
145         AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
146         tests below the thread checks to fix #364663.
147
148         * tests/run-markup-tests.sh: Don't use diff -u  (#380801,
149         Marek Rouchal)
150
151         * glib/gspawn.c: Fix the recent fdwalk()-related changes
152         to not break mapping-test.  (#286838, Marco Barisione)
153
154         * glib/gstring.c (g_string_chunk_new): Don't shadow size.
155         (#386760, Kazuki IWAMOTO)
156
157 2006-12-16  Matthias Clasen  <mclasen@redhat.com>
158
159         * glib/gstring.c: Move more documentation inline.
160
161         * configure.in: Use AC_COMPILE_IFELSE for the monotonic
162         clock test.  (#362918, Han-Wen Nienhuys, Jeremy Lainé)
163
164         * glib/gstring.c: Move documentation inline. 
165
166 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
167
168         * glib/giochannel.h: Make ref_count a gint to avoid
169         compiler warnings.  (#321977, Andrew Paprocki)
170
171         * configure.in: On Solaris, set CFLAGS and LDFLAGS that
172         work both with Sun cc and gcc.  (#315061, Lazlo Peter)
173
174         * glib/gspawn.c: Undefine READ_OK to fix the build on
175         old versions of Darwin.  (#327800)
176
177         * glib/glib.symbols:
178         * glib/gstring.[hc] (g_string_chunk_clear): Add a function
179         for clearing a GStringChunk. (#364608, Matt Barnes)
180
181         * glib/guniprop.c (interval_compare): Avoid a compiler
182         warning.
183
184         * glib/gspawn.c (do_exec): Call set_cloexec() with
185         the right parameters.  (#386252, Guillaume Desmottes)
186
187 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
188
189         Fix #357585, Padraig O'Briain.
190         
191         * configure.in: Check for fdwalk.
192         
193         * glib/gspawn.c (do_exec): Use fdwalk() to close all
194         file descriptors. 
195
196         * glib/gspawn.c (fdwalk): Fallback implementation of
197         fdwalk.
198
199 2006-12-14  Matthias Clasen  <mclasen@redhat.com>
200
201         * glib/gconvert.c (open_converter): Don't use alloca
202         and avoid allocating memory for small keys that are 
203         already cached.  (#172406, Morten Welinder)
204
205         * glib/gmain.c (g_child_watch_add_full): Improve the docs.
206         (#345569, Tim-Philipp Müller)
207
208         * glib/gkeyfile.c (g_key_file_add_group): If the group
209         is already there, make it current.  (#385910, Joe Halliwell)
210
211         * tests/keyfile-test.c: Add a test for duplicate groups/keys.
212
213 2006-12-13  Matthias Clasen  <mclasen@redhat.com>
214
215         * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
216         GLIB_WITH_NLS.  (#385132, Laszlo Peter)
217
218 2006-12-12  Matthias Clasen  <mclasen@redhat.com>
219
220         * configure.in: Add a check for broken poll on Mac OS X.
221
222         * glib/gmain.c: Use poll emulation on OS X.  (#302672, Toby Peterson,
223         patch by Dave Vasilevsky)
224
225 2006-12-11  Matthias Clasen  <mclasen@redhat.com>
226
227         * glib/gatomic.c: Don't use local numeric labels in
228         inline assembler on AIX.  (#316434, Hans Rosenfeld)
229
230         * glib/gunicode.h (g_utf8_next_char): Cast to const char *,
231         not char *.  (#138153, Nikolai Weibull)
232
233 Wed Nov 22 16:09:13 2006  Tim Janik  <timj@gtk.org>
234
235         * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
236         Hasselmann in bug #335341, fixes bug #335853.
237
238 2006-11-15  Matthias Clasen  <mclasen@redhat.com>
239
240         * m4macros/glib-gettext.m4: Apply a patch from James 
241         Henstridge for compatibility with automake 2.60 (#343825)
242
243 2006-11-14  Behdad Esfahbod  <behdad@gnome.org>
244
245         * sanity_check: Replace bash-specific == with sh-understood =.
246         Fixes bug #373864.
247
248 2006-11-05  Hans Breuer  <hans@breuer.org>
249
250         * glib/makefile.msc.in : glib/ version not the gobject/ 
251         one I accidentially commited. Fixes bug #371074.
252         
253 2006-11-05  Tor Lillqvist  <tml@novell.com>
254
255         * makefile.mingw
256         * gmodule/makefile.mingw.in
257         * glib/makefile.mingw.in
258         * gobject/makefile.mingw.in
259         * gthread/makefile.mingw.in
260         * tests/makefile.mingw.in: Remove from CVS. Haven't been
261         maintained or distributed for long.
262
263 2006-10-26  Pascal Terjan  <pterjan@linuxfr.org>
264
265         * glib/libcharset/localcharset.c: Fix small leak on failed
266         realloc in _g_locale_get_charset_aliases (#338582)
267
268 2006-10-16  Behdad Esfahbod  <behdad@gnome.org>
269
270         * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
271         Peter Kjellerstedt)
272
273 2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>
274
275         * tests/Makefile.am: Compile errorcheck-mutex-test with thread
276         libraries explicitly. (#74748, Javier Villavicencio)
277
278 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
279
280         Add a way to obtain Unicode script information.  (#348348,
281         Marco Barisione)
282
283         * glib/glib.symbols:
284         * glib/gunicode.h: Add GUnicodeScript enumeration and
285         g_unichar_get_script. 
286         
287         * glib/guniprop.c: Implement g_unichar_get_script.
288
289         * glib/gscripttable.h: Generated private header containing
290         script tables.
291
292         * glib/gen-script-table.pl: Script to generate gscripttable.h.
293
294         * glib/Makefile.am: Update
295
296 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
297
298         * tests/run-markup-tests.sh: Small portability fix.  (#347944,
299         Dan McMahill)
300
301 2006-10-07  Tor Lillqvist  <tml@novell.com>
302
303         * glib/gwin32.c (get_package_directory_from_module)
304         (g_win32_get_package_installation_directory): g_strdup the keys
305         that we are passed before adding them to the hash tables, to guard
306         against the caller freeing them. (#355955, Andreas Köhler)
307
308 2006-10-06  Matthias Clasen  <mclasen@redhat.com> 
309
310         * glib/gtimer.c: Fix a typo.  (#359190)
311
312 2006-10-02  Behdad Esfahbod  <behdad@gnome.org>
313
314         * glib/Makefile.am:
315         * gobject/Makefile.am:
316         Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
317         (#358966)
318
319 2006-10-01  Matthias Clasen  <mclasen@redhat.com>
320
321         * glib/gtimer.c (g_usleep): Use nsleep to implement
322         g_usleep on AIX.  (#321974, Andrew Paprocki)
323
324         * configure.in: Check for nsleep
325
326         * glib/gmain.c: Fix typos in doc comments.  
327         (#358421, Tom Tromey)
328
329 2006-09-30  Matthias Clasen  <mclasen@redhat.com>
330
331         * glib/pltcheck.sh: A script to check PLT entries.
332         * glib/Makefile.am (TESTS): Run pltcheck.sh
333
334         * glib/*: Fix includes to correct some issues with
335         PLT entries.  (#354522, Behdad Esfahbod)
336
337 2006-09-17  Hans Breuer  <hans@breuer.org>
338
339         * glib/makefile.msc.in gobject/makefile.msc.in : better filtering
340         of G_GNUC_* stuff when generating .def files. Now also works with
341         newer (less tolerant) linkers, e.g. from vc2500e
342
343 2006-09-10  Matthias Clasen  <mclasen@redhat.com>
344
345         * glib/gbacktrace.c: Assume string.h is available. 
346         (#354523, Behdad Esfahbod)
347
348         * configure.in: Bump version to 2.13.0
349
350         * glib/glib.symbols:
351         * glib/gmain.[hc]: Add functions to create approximate
352         timeouts.  (#353942, Arjan van de Ven)
353
354         * glib/gstdio.c (g_rename): Initialize save_errno.
355         (#355206, Mike Edenfield)
356
357 2006-09-03  Matthias Clasen  <mclasen@redhat.com>
358
359         * glib/gerror.c: Allocate GErrors using the slice allocator.
360         (#354054, Matt Barnes)
361
362 2006-09-02  Matthias Clasen  <mclasen@redhat.com>
363
364         * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.
365
366 2006-09-02  Tor Lillqvist  <tml@novell.com>
367
368         * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
369         declarations and code) in Win32 ifdef branch. (#353903, Mike
370         Edenfield)
371
372 2006-09-01  Abel Cheung  <abel@oaka.org>
373
374         * configure.in: Added 'dz' 'hy' to ALL_LINGUAS.
375
376 2006-09-01  Matthias Clasen  <mclasen@redhat.com>
377
378         * configure.in: Check for CLOCK_MONOTONIC.
379
380         * glib/gtimer.c: Only use clock_gettime if we
381         have a monotonic clock.
382
383 2006-08-31  Matthias Clasen  <mclasen@redhat.com>
384
385         * configure.in: Add missing includes to a few test
386         programs.  (#353580, Chris Wilson)
387
388 2006-08-30  Matthias Clasen  <mclasen@redhat.com>
389
390         * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
391         va_end on caller-provided va_args.  (#353584, Chris Wilson)
392
393 2006-08-29  Tor Lillqvist  <tml@novell.com>
394
395         Remove support for Windows 9x/ME, as will be done also in Pango
396         and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
397         it's pretty pointless to keep the Win9x code in here either. If
398         somebody is interested, the code can always be found in older GLib
399         versions, and in CVS.
400
401         * glib/gdir.c
402         * glib/gfileutils.c
403         * glib/gspawn-win32-helper.c
404         * glib/gspawn-win32.c
405         * glib/gstdio.c
406         * glib/gutils.c
407         * glib/gwin32.c
408         * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
409         G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
410         branches, and any variables or static functions used only by the
411         Win9x branches.
412
413         * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
414         run on Win9x.
415
416 2006-08-27  Matthias Clasen  <mclasen@redhat.com>
417
418         * configure.in: Fix pthread compiler flag detection.
419
420         * glib/gtimer.c: Use Posix monotonic clocks instead of 
421         gettimeofday when available.  (#336114, William Jon McCann)
422
423 2006-08-26  Matthias Clasen  <mclasen@redhat.com>
424
425         * glib/gutils.h: 
426         * glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
427
428 2006-08-25  Matthias Clasen  <mclasen@redhat.com>
429
430         * configure.in: Fix the pthread compiler flag detection.
431
432         * glib/gunicode.h: 
433         * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
434         from gconvert.c, move it to gutf8.c, and export it privately.
435
436         * glib/gconvert.c (g_filename_display_name): Adjust callers.
437
438         * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
439         places to ensure error messages are valid UTF-8.  (#351853,
440         Simon Budig)
441
442 2006-08-22  Matthias Clasen <mclasen@redhat.com>
443
444         * Branch for 2.12
445