Warn if the input is too short. (#418862, Halton Huo)
[platform/upstream/glib.git] / ChangeLog
1 2007-03-16  Matthias Clasen  <mclasen@redhat.com>
2
3         * glib/gbase64.c (g_base64_decode): Warn if the input
4         is too short.  (#418862, Halton Huo)
5
6 Fri Mar 16 11:24:51 2007  Tim Janik  <timj@imendio.com>
7
8         * glib/gscanner.[hc]: reverted premature commit which broke
9         GScanner ABI and API, #415323.
10
11 2007-03-16  Chris Wilson  <chris@chris-wilson.co.uk>
12
13         * glib/gkeyfile.c: Convert to GSlice and check for redundant
14         clears. (#418637)
15
16 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
17
18         * glib/gscanner.[hc]: Revert recent changes that break
19         existing users of GScanner.
20
21 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
22
23         * glib/gscanner.c (g_scanner_get_token_ll): Fix a typo
24         in the last commit.  (#415323, Richard Hult)
25
26 2007-03-15  Tor Lillqvist  <tml@novell.com>
27
28         * glib/gnulib/Makefile.am (INCLUDES): Add -I$(top_srcdir)/glib so
29         that gregex.h finds <glib.h>.
30
31         * glib/update-pcre/Makefille.am-1: Add -DGLIB_COMPILATION so that
32         we don't think g_ascii_table is dllimport.
33
34         * glib/pcre/Makefile.am: Corresponding change.
35
36         * glib/update-pcre/notdll.patch: New file. Drop
37         dllimport/dllexport magic for the pcre symbols.
38
39         * glib/update-pcre/Makefile.am: Dist it.
40
41         * glib/update-pcre/update.sh: Apply notdll.patch.
42
43         * glib/pcre/pcre.h: Corresponding change.
44
45 2007-03-15  Tor Lillqvist  <tml@novell.com>
46
47         * glib/gtypes.h: Add comment to avoid misleading people with the
48         large number of digits in G_PI etc. (#404338)
49
50 2007-03-15  Tor Lillqvist  <tml@novell.com>
51
52         * config.h.win32.in: Update to match what configure produces.
53
54 2007-03-15  Marco Barisione <marco@barisione.org>
55
56         Add GRegex for regular expression matching.  (#50075)
57
58         * configure.in: Handle GRegex compilation.
59
60         * glib/gregex.c:
61         * glib/gregex.h: Code for GRegex.
62
63         * glib/Makefile.am:
64         * glib/makefile.msc.in: Updated makefiles.
65
66         * glib/pcre/*: Internal copy of PCRE.
67
68         * glib/update-pcre/*: Stuff to automatically update the internal PCRE
69         to a newer version.
70
71         * tests/regex-test.c:
72         * tests/Makefile.am:
73         * tests/makefile.msc.in: Add tests for GRegex.
74
75 2007-03-15  Chris Wilson  <chris@chris-wilson.co.uk>
76
77         * glib/gmain.c (g_main_dispatch): Replace a
78         g_slist_prepend/g_slist_remove pair with an on-stack link
79         and open coding. (#416094)
80
81 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
82
83         Fix two glitches in the Unicode case conversion
84         functions (#418217,  Denis Jacquerye)
85
86         * glib/guniprop.c (g_unichar_toupper): Handle zero entries
87         in special_case_table correctly.
88         (g_unichar_totitle): Fall back to g_unichar_toupper.
89
90 2007-03-15  Matthias Clasen  <mclasen@redhat.com>
91
92         * glib/gscanner.[hc]: Some optimizations, use a lookup
93         table for character classes, pre-allocate GStrings with
94         reasonable sizes.  (#415323, Charlie Brej)
95
96 2007-03-14  Matthias Clasen  <mclasen@redhat.com>
97
98         * glib/gkeyfile.c (g_key_file_get_double): Fix a 
99         small typo.  (#417847, Bobby Jack)
100
101 2007-03-08  Matthias Clasen  <mclasen@redhat.com>
102
103         * glib/gstrfuncs.c (g_strtoll): Return negative values.
104         (#416062)
105
106         * tests/strtoll-test.c: Add more testcases.
107
108 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
109
110         * glib/gstring.c (g_str_equal): Clarify docs.  (#364026, 
111         Bastian Nocera)
112
113 2007-03-06  Matthew Barnes  <mbarnes@redhat.com>
114
115         * glib/gqueue.h:
116         * glib/gqueue.c: Add G_QUEUE_INIT, g_queue_init(), and
117         g_queue_clear() to better support statically allocated
118         queues.  (#413244)
119
120 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
121
122         * glib/gkeyfile.c (g_key_file_parse_value_as_boolean):
123         Remove a NULL check that didn't do any good.  (#360904,
124         Paolo Borelli)
125
126 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
127
128         * glib/gmarkup.c (g_markup_parse_context_parse): Report
129         more accurate position for invalid UTF-8.  (#350802,
130         Simon Budig)
131
132 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
133
134         * glib/gbase64.c: Add NULL checks to the base64 
135         functions that take pointers.  (#399611, Martyn Russell)
136
137 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
138
139         Work with Solaris gettext (#341988, Laszlo Peter)
140
141         * m4macros/glib-gettext.m4: Make GLIB_WITH_NLS define
142         MSGFMT_OPTS if msgfmt supports -c.
143
144         * po/Makefile.in.in: Use MSGFMT_OPTS when calling
145         msgfmt.
146
147 2007-03-06  Matthias Clasen  <mclasen@redhat.com>
148
149         * tests/Makefile.am: Apply a patch by Loïc Minier
150         to fix building with -Wl,-z,defs.  (#149144)
151
152 2007-03-03  Thierry Randrianiriana  <randrianiriana@gmail.com>
153
154         * po/mg.po: Added Malagasy translation.
155         * configure.in: Added Malagasy 'mg' to ALL_LINGUAS
156
157 2007-03-01  Ihar Hrachyshka <iharh@gnome.org>
158         * configure.in: Added be@latin to ALL_LINGUAS.
159
160 2007-02-17  Tor Lillqvist  <tml@novell.com>
161
162         * glib/gdate.c (win32_strftime_helper): New Win32-only
163         function. Use the wide character Win32 API to do the work of
164         strftime(): GetThreadLocale(), GetLocaleInfoW(), GetDateFormatW()
165         and GetTimeFormatW().
166         (g_date_strftime): On Windows use win32_strftime_helper()
167         instead of strftime() to avoid codepage issues with strftime().
168         Unfortunately using wcsftime() would not help either. (#404832)
169
170 2007-02-16  Soren Sandmann <sandmann@redhat.com>
171
172         * tests/sequence-test.c: For move, test moving between two
173         sequences. Add test for swap.
174
175         * glib/gsequence.c: Replace splay tree with a treap.
176         (check_node): Add checks for the treap invariants.
177
178 2007-02-10  Hans Breuer  <hans@breuer.org>
179
180         * glib/makefile.msc.in : added gsequence.obj
181
182 Fri Feb  9 17:46:18 2007  Søren Sandmann  <sandmann@redhat.com>
183
184         * glib/gsequence.c (g_sequence_get_end_iter): Remove assertion.
185         * glib/gsequence.c (is_end): Return TRUE if the iter doesn't have
186         a parent.
187         * glib/gsequence.c: Fix grammar of comment.
188         * glib/gsequence.c (node_update_fields): Use a temporary variable
189         for the n_nodes.
190
191 2007-02-07  Soren Sandmann <sandmann@daimi.au.dk>
192
193         * tests/sequence-test.c (compare_items): Force an arbitrary order
194         on otherwise identical items.
195
196         * glib/gsequence.c: Add comment discussing splay trees vs. other trees.
197         * glib/gsequence.c (is_end): Add fast path for the common case
198         when the node is not actually the end node.
199
200 2007-02-05  Soren Sandmann <sandmann@daimi.au.dk>
201
202         * glib/gsequence.c (g_sequence_sort_iter): Don't prohibit access
203         until after the g_sequence_move_range() call.  Bug 404759,
204         Christian Persch.
205
206        * tests/sequence-test.c: Formatting fix.
207
208 2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>
209
210         * glib/gsequence.c (struct _GSequence): Add a new 'real_sequence'
211         field.
212         (g_sequence_new): Initialize real_sequence to the sequence
213         (g_sequence_sort_iter): Set real_sequence of the temporary
214         sequence to the real sequence.
215         (g_sequence_sort_changed_iter): Same
216         (g_sequence_insert_sorted_iter): Same
217         (g_sequence_search_iter): Same
218         (g_sequence_iter_get_sequence): Return real_sequence
219
220         * tests/sequence-test.c (compare_iters): Insert assertions that
221         the iters point to the sequence being manipulated.
222
223 2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>
224
225         * glib/gsequence.[ch]: New files implementing GSequence, a list
226         implemented using a binary tree.
227         * glib/glib.h, glib/glib.symbols: Update for GSequence.
228         * docs/reference: Add documentation for GSequence
229         * tests: Add sequence-test.c, a thorough test of all of
230         the GSequence API.
231
232 2007-01-30  Matthias Clasen <mclasen@redhat.com>
233
234         * glib/glib.symbols:
235         * glib/gslice.h:
236         * glib/gslice.c: Don't make ABI depend on G_ENABLE_DEBUG,
237         just add an empty g_slice_debug_tree_statistics () implementation
238         in the !G_ENABLE_DEBUG case.
239
240 2007-01-26  Matthias Clasen <mclasen@redhat.com>
241
242         * configure.in: Define G_GNUC_INTERNAL for Sun Studio
243         as __hidden.  (#342981, Brian Cameron)
244
245         * glib/gconvert.c:
246         * glib/gutf8.c: Move G_GNUC_INTERNAL uses to the right
247         spot.
248
249 2007-01-26  Matthias Clasen <mclasen@redhat.com>
250
251         * gmem.c:
252         * gslice.c:
253         * gmessages.c:
254         * gutils.c: Make some structs which are used only once
255         non-static.
256
257 2007-01-24  Benjamin Otte <otte@gnome.org>
258
259         * glib/gprintf.c (g_sprintf): Clarify the documentation
260         regarding overflows (wording by Jan Schmidt)
261
262 2007-01-23  Roozbeh Pournader  <roozbeh@farsiweb.info>
263
264         * README: Remove mention of no-longer-existing PATCH
265         keyword in bugzilla. (#396899)
266
267 2007-01-23  Matthias Clasen  <mclasen@redhat.com>
268
269         * glib/gutf8.c (g_utf8_get_char_validated): Clarify
270         the behaviour is max_len is zero.  (#400044,
271         Benjamin Dauvergne)
272
273 2007-01-23  Matthias Clasen  <mclasen@redhat.com>
274
275         * glib/goption.c (print_help): Use bitwise &
276         when operating on flags.  (#399971, Jon Oberheide)
277
278 2007-01-19  Matthias Clasen  <mclasen@redhat.com>
279
280         Some file list updates (#398069, Owen Taylor)
281
282         * docs/Changes-2.0.txt
283         * docs/reference/README.cvs-commits
284         * glib.spec.in: Remove obsolete files
285
286         * tests/Makefile.am:
287         * glib/libcharset/Makefile.am:
288         * gobject/Makefile.am:
289         * Makefile.am: Add some missing files to EXTRA_DIST
290
291         * tests/timeloop-basic.c: Make it build
292         * HACKING: Small updates
293
294 2007-01-18  Matthias Clasen  <mclasen@redhat.com>
295
296         * glib/gdate.c (g_date_set_time): Fix a typo.  (#398203,
297         Owen Taylor)
298
299 2007-01-17  Tor Lillqvist  <tml@novell.com>
300
301         * config.h.win32.in
302         * glib/galloca.h
303         * glib/gbacktrace.h
304         * glib/gwin32.c
305         * glibconfig.h.win32.in
306         * README.win32: More minor tweaks for Digital Mars
307         compiler. (#346808, Serhat Sevki Dincer)
308
309 2007-01-17  Tor Lillqvist  <tml@novell.com>
310
311         * glib-zip.in: DLLs are always installed in "bin" with current
312         libtool, drop unnecessary logic to check where they are. Include
313         also the COPYING file.
314
315 2007-01-17  Tor Lillqvist  <tml@novell.com>
316
317         * glib/galloca.h: Use <malloc.h> also with Digital Mars compiler
318         on Win32. (#346808, Serhat Sevki Dincer)
319
320 2007-01-16  Matthias Clasen  <mclasen@redhat.com>
321
322         * glib/gthread.h:
323         * glib/gthread.c:
324         * glib/glib.symbols: Revert an accidental ABI break by
325         moving gettime out of the GThreadFunctions struct and making
326         it a separate variable.  (#397139, Joe Marcus Clarke)
327
328         * gthread/*.c: Adapt.
329
330 2007-01-16  Tor Lillqvist  <tml@novell.com>
331
332         * glib/gthread.c (gettime): GetSystemTimeAsFileTime() returns 100s
333         of nanoseconds since 1601, so offset to Unix epoch (1970) and
334         multiply by 100 to get nanoseconds which is what we want.
335
336 2007-01-15  Tor Lillqvist  <tml@novell.com>
337
338         * glib/gmain.h (struct _GPollFD): Fix mistake in my last commit.
339
340 2005-01-15  Matthias Clasen  <mclasen@redhat.com>
341
342         * glib/giochannel.c:
343         * glib/gbookmarkfile.c: Remove redundant NULL-checks.
344         (#369668, Morten Welinder)
345
346 2005-01-15  Matthias Clasen  <mclasen@redhat.com>
347
348         * glib/gthread.c:
349         * gthread/gthread-posix.c: Correct the gettime calculations
350         once more.  (#395203, Chris Wilson)
351
352 2007-01-15  Tor Lillqvist  <tml@novell.com>
353
354         * glib/gmain.h (struct _GPollFD): Prepare for potential Win64
355         build: Use gint64 for the fd field on Win64, as we want to be able
356         to store a HANDLE in it. (#395422) (Other changes will surely also
357         be necessary when building on Win64, at least in giowin32.c.)
358
359 2007-01-15  Tor Lillqvist  <tml@novell.com>
360
361         * glib/gwin32.c (g_win32_getlocale): Simplify greatly. Instead of
362         hardcoding a large switch statement, just ask Windows for the
363         ISO639 and ISO3166 codes. Tack on @Latn or @Cyrl for those
364         languages which can alternatively be written in Latin or
365         Cyrillic. Fixes #395419.
366
367 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
368
369         * glib/gkeyfile.c: Rework the handling of invalid
370         keys/groups again. We are back to being liberal about
371         what we accept, and only reject things that would lead
372         to non-rereadable keyfiles.
373
374         * tests/keyfile-test.c: Adapt tests.
375
376 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
377
378         * glib/gutils.c (g_get_home_dir): Clarify docs.  (#394687,
379         Marc Brockschmidt)
380
381 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
382
383         * glib/gthread.c: Include windows.h and fix
384         include order. (#394258, Kazuki Iwamoto)
385
386 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
387
388         * configure.in: Make G_GNUC_INTERNAL a no-op for
389         gcc 2.95.    (#329031, David Schleef, Marc Brockschmidt)
390
391 2007-01-12  Matthias Clasen  <mclasen@redhat.com>
392
393         * gthread/gthread-posix.c:
394         * glib/gtimer.c:
395         * glib/gthread.c: Fix errors in the recently moved
396         time calculations.  (#395203, Chris Wilson)
397
398 2007-01-10  Matthias Clasen  <mclasen@redhat.com>
399
400         * configure.in: Actually link gthread against librt.
401         (#394641, Marco Pesenti Gritti)
402
403 2007-01-10  Matthias Clasen  <mclasen@redhat.com>
404
405         * glib/gkeyfile.c (g_key_file_is_key_name): Grr, allow '*' in keys,
406         too.  (#394262)
407
408 2007-01-09  Behdad Esfahbod  <behdad@gnome.org>
409
410         * glib/gutils.h: Use a more optimized g_bit_storage() when gcc is
411         available.  (#371670, Daniel Elstner)
412
413 2007-01-08  Matthias Clasen  <mclasen@redhat.com>
414
415         * gthread/gthread-posix.c (g_thread_impl_init): Don't
416         use _SC_MONOTONIC_CLOCK unless USE_CLOCK_GETTIME is
417         defined.  (#394150)
418
419 2007-01-07  Matthias Clasen  <mclasen@redhat.com>
420
421         Don't link glib against libpthread.  (#393812)
422
423         * configure.in: Link gthread against librt, not glib itself.
424
425         * glib/gthread.h:
426         * glib/gthread.c: Add a new thread function, gettime.
427
428         * glib/gtimer.c: Use gettime instead of directly working with
429         the various system interfaces.
430
431         * gthread/gthread-impl.c:
432         * gthread/gthread-posix.c:
433         * gthread/gthread-win32.c: Implement gettime.
434
435 2007-01-07  Matthias Clasen  <mclasen@redhat.com>
436
437         * m4macros/glib-2.0.m4: Use PKG_PROG_PKG_CONFIG.  (#392636,
438         Yevgen Muntyan)
439
440 2007-01-07  Tor Lillqvist  <tml@novell.com>
441
442         * glib/giowin32.c: Handle GIOChannels for file descriptors
443         connected to the console separately. This would typically be the
444         fd 0, 1, or 2 (if not redirected) in a console application. For
445         such fds we don't need a separate thread, as console HANDLEs are
446         waitable objects. (#359202, Michiel de Hoon)
447
448 2007-01-04  Behdad Esfahbod  <behdad@gnome.org>
449
450         * tests/bit-test.c (builtin_bit_nth_lsf1), (builtin_bit_nth_lsf2),
451         (builtin_bit_nth_msf): Fix tests on x86_64.
452
453 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
454
455         * glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth),
456         (calculate_max_length), (print_entry), (print_help): Take zerowidth
457         and double-width chars into consideration when computing width of a
458         string.  Also fix another bug in width computation. (#346955)
459
460         * glib/guniprop.c (g_unichar_iszerowidth): Fix typo.  It was not
461         working correctly.
462
463 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
464
465         * glib/glib.symbols:
466         * glib/gunicode.h:
467         * glib/guniprop.c: Add g_unichar_iszerowidth(). (#347645)
468
469 2007-01-03  Behdad Esfahbod  <behdad@gnome.org>
470
471         * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use
472         __builtin_clzl for g_bit_storage if available (#371670).
473
474         * tests/Makefile.am:
475         * tests/bit-test.c: New test, to test g_bit_* operations against
476         naive and builtin implementations.
477
478 2007-01-02  Behdad Esfahbod  <behdad@gnome.org>
479
480         * configure.in: Avoid more warnings from running libtool --config.
481         (#391364)
482
483 2007-01-03  Michael Natterer  <mitch@imendio.com>
484
485         * removed all .cvsignore files. SVN doesn't need them.
486
487 2007-01-02  Emmanuele Bassi  <ebassi@gnome.org>
488
489         * glib/gbookmarkfile.c (expand_exec_line): Add support for
490         expanding the desktop entry spec variables %U (list of URIs)
491         and %F (list of filenames), so that using the command line
492         from the Exec and TryExec key of a desktop entry file works
493         as intended.
494
495 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
496
497         * configure.in: Avoid warnings from running libtool --config.
498         (#391364, Loïc Minier)
499
500 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
501
502         * glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
503         Return an error if the uri is bad. (#391370, Maciej Piechotka)
504
505 2007-01-02  Matthias Clasen  <mclasen@redhat.com>
506
507         * glib/glib.symbols: Guard g_slice_debug_tree_statistics
508         by G_ENABLE_DEBUG.  (#390940, Kazuki Iwamoto)
509
510 2007-01-02  Michael Natterer  <mitch@imendio.com>
511
512         * configure.in
513         * Makefile.am: remove references to build/ until a proper decision
514         has been made what to do with it.
515
516 2007-01-01  Matthias Clasen  <mclasen@redhat.com>
517
518         * glib-gettextize.in: Silence autoconf warnings about
519         datarootdir.  (#391367, Loïc Minier)
520
521 2006-12-31  Matthias Clasen  <mclasen@redhat.com>
522
523         * glib/gslice.c: Fix some C99isms.  (#390913, Kazuki Iwamoto)
524
525 Fri Dec 29 13:28:07 2006  Tim Janik  <timj@imendio.com>
526
527         * glib/gslice.c: turned detection of too late g_thread_init() calls
528         into a warning. this is a temporary work-around for some head-room
529         to fix affected programs, memory corruption still occours regardless.
530
531 2006-12-29  Matthias Clasen  <mclasen@redhat.com>
532
533         * tests/gobject/Makefile.am:
534         * tests/gobject/dynamictype.c: New test for dynamic type
535         registration macros.
536
537 Thu Dec 28 21:14:45 2006  Tim Janik  <timj@imendio.com>
538
539         * glib/gslice.c: removed pthread-dependant debugging bits, the code
540         was already converted to GMutex. this obsoletes Tor's recent fixups.
541
542 2006-12-28  Tor Lillqvist  <tml@novell.com>
543
544         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME)
545         * glib/gutils.c (get_windows_directory_root): : Use only the wide
546         character API here, too.
547
548         * glib/gslice.c: Make it compile on Win32 without pthreads: Use a
549         Win32 critical section instead.
550
551         * glib/gmessages.c (g_logv): On Win32, if we get a fatal error
552         message while being debugged we break into the debugger with
553         G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough
554         to continue after the breakpoint. The user presumably knows what
555         he is doing and deserves what he gets. (#376645, Andreas Köhler)
556
557 Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>
558
559         * glib/gslice.h, glib/gslice.c: implemented static debugging
560         hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
561         use abort() to exit in mem_error() to allow catching of these in gdb.
562         abort programs with a descriptive error message if g_thread_init() is
563         called after GSlice was in use. previously this just silently corrupted
564         the magazines.
565
566         * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte
567         pointer alignment on 64bit systems and request smaller slice sizes
568         on 32bit systems.
569
570         * tests/slice-test.c: support '~' option flag to introduce slice
571         allocation/release corruption with a significant probability. this
572         allowes testing of G_SLICE=debug-blocks.
573
574 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
575
576         * glib/gconvert.[hc]:
577         * glib/gfileutils.c:
578         * glib/giochannel.c:
579         * glib/goption.c:
580         * glib/gspawn.c:
581         * glib/gunicollate.c:
582         * glib/gutils.c:
583         * tests/timeloop-basic.c:
584         Consistently use gsize rather than size_t.  (#333310,
585         Morten Welinder)
586
587 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
588
589         * configure.in: Use AC_CACHE_CHECK for the nl_langinfo
590         check.  (#304517, Lőrinczy Zsigmond)
591
592 2006-12-27  Tor Lillqvist  <tml@novell.com>
593
594         * glib/gwin32.h
595         * glib/gwin32.c (get_package_directory_from_module)
596         (g_win32_get_package_installation_directory)
597         (g_win32_get_package_installation_subdirectory): Add const to
598         gchar* arguments. (#384523, Yevgen Muntyan)
599
600 2006-12-27  Ryan Lortie  <desrt@desrt.ca>
601
602         * glib/ghash.c: cache the value of the hash function
603         in the GHashNode.  this speeds up resizing the hash
604         table and it also allows a slight optimisation on
605         lookups.  (#388332)
606
607 2006-12-27  Matthias Clasen  <mclasen@redhat.com>
608
609         * glib/gunicollate.c (g_utf8_collate_key): Don't modify
610         the current locale.  (#389300)
611
612 2006-12-26  Matthias Clasen  <mclasen@redhat.com>
613
614         * glib/gutf8.c: Add hints for locale-dependent interfaces.
615         * glib/gconvert.c: Add hints for locale-dependent interfaces.
616
617         * glib/gconvert.c (g_get_filename_charsets): Improve
618         formatting of docs.
619
620 2006-12-26  Behdad Esfahbod  <behdad@gnome.org>
621
622         * configure.in: Use libtool to determine shared library suffix.
623         (#357245)
624
625 2006-12-24  Matthias Clasen  <mclasen@redhat.com>
626
627         * tests/run-collate-tests.sh:
628         * tests/unicode-collate.c: Silently skip tests if
629         we can't set LC_COLLATE to en_US.  (#336438)
630
631 2006-12-19  Matthias Clasen  <mclasen@redhat.com>
632
633         * glib/gkeyfile.c (g_key_file_is_key_name): Accept
634         '/', '+' and '.' in key names, since gnome-vfs uses
635         mime types as keys in some cache.
636
637         * tests/keyfile-test.c: Tests for the above.
638
639 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
640
641         * configure.in: Fix the broken poll test.  (#387260,
642         Christian Persch)
643
644         * glib/gmain.c (child_watch_helper_thread): Readd a
645         return which was removed as dead code a while ago.
646         icc may consider it dead, but gcc doesn't like non-void
647         functions without a return...  (#354707)
648
649         * tests/Makefile.am: Try a different fix for bug 346373.
650
651 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
652
653         Fix bug 161288:
654
655         * configure.in: Check for wcslen.
656
657         * glib/gnulib/vasnprintf.c: Handle wcslen missing.
658
659 2006-12-18  Matthias Clasen  <mclasen@redhat.com>
660
661         * glib/gkeyfile.c: Accept '@' in locale names.
662
663         * glib/gkeyfile.c: Tighten up the check for allowed
664         key and group names.  (#343191, Tommi Komulainen)
665
666         * tests/keyfile-test.c: Test handling of key and group names.
667
668         * tests/Makefile.am: Don't use $RANDOM if the shell doesn't
669         have it.  (#346373, Thomas Klausner)
670
671 2006-12-17  Behdad Esfahbod  <behdad@gnome.org>
672
673         * glib/gstring.c: Improve docs about string functions taking a
674         length.  (#378727)
675
676 2006-12-17  Matthias Clasen  <mclasen@redhat.com>
677
678         * glib/gconvert.c:
679         * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
680         where gcc doesn't complain about it.
681
682         * glib/ghash.c: Make ref_count an int to avoid compiler
683         warnings.
684
685         * configure.in: Use AC_LANG_SOURCE for the clock test.
686
687         * glib/gthreadpool.h:
688         * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
689         as parameter name.  (#379207, Christian Biere)
690
691         * glib/gspawn.c: Refer to g_child_watch_add() in addition
692         to waitpid().
693
694         * glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
695         inline, and improve wording.  (#372598, Behdad Esfahbod)
696
697         * glib/gspawn.c: Add some pointers to the gdk_spawn_
698         variants.  (#338134, Federico Mena Quintero)
699
700         * configure.in: Make montonic clock test work again. Does
701         AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
702         tests below the thread checks to fix #364663.
703
704         * tests/run-markup-tests.sh: Don't use diff -u  (#380801,
705         Marek Rouchal)
706
707         * glib/gspawn.c: Fix the recent fdwalk()-related changes
708         to not break mapping-test.  (#286838, Marco Barisione)
709
710         * glib/gstring.c (g_string_chunk_new): Don't shadow size.
711         (#386760, Kazuki IWAMOTO)
712
713 2006-12-16  Matthias Clasen  <mclasen@redhat.com>
714
715         * glib/gstring.c: Move more documentation inline.
716
717         * configure.in: Use AC_COMPILE_IFELSE for the monotonic
718         clock test.  (#362918, Han-Wen Nienhuys, Jeremy Lainé)
719
720         * glib/gstring.c: Move documentation inline.
721
722 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
723
724         * glib/giochannel.h: Make ref_count a gint to avoid
725         compiler warnings.  (#321977, Andrew Paprocki)
726
727         * configure.in: On Solaris, set CFLAGS and LDFLAGS that
728         work both with Sun cc and gcc.  (#315061, Lazlo Peter)
729
730         * glib/gspawn.c: Undefine READ_OK to fix the build on
731         old versions of Darwin.  (#327800)
732
733         * glib/glib.symbols:
734         * glib/gstring.[hc] (g_string_chunk_clear): Add a function
735         for clearing a GStringChunk. (#364608, Matt Barnes)
736
737         * glib/guniprop.c (interval_compare): Avoid a compiler
738         warning.
739
740         * glib/gspawn.c (do_exec): Call set_cloexec() with
741         the right parameters.  (#386252, Guillaume Desmottes)
742
743 2006-12-15  Matthias Clasen  <mclasen@redhat.com>
744
745         Fix #357585, Padraig O'Briain.
746
747         * configure.in: Check for fdwalk.
748
749         * glib/gspawn.c (do_exec): Use fdwalk() to close all
750         file descriptors.
751
752         * glib/gspawn.c (fdwalk): Fallback implementation of
753         fdwalk.
754
755 2006-12-14  Matthias Clasen  <mclasen@redhat.com>
756
757         * glib/gconvert.c (open_converter): Don't use alloca
758         and avoid allocating memory for small keys that are
759         already cached.  (#172406, Morten Welinder)
760
761         * glib/gmain.c (g_child_watch_add_full): Improve the docs.
762         (#345569, Tim-Philipp Müller)
763
764         * glib/gkeyfile.c (g_key_file_add_group): If the group
765         is already there, make it current.  (#385910, Joe Halliwell)
766
767         * tests/keyfile-test.c: Add a test for duplicate groups/keys.
768
769 2006-12-13  Matthias Clasen  <mclasen@redhat.com>
770
771         * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
772         GLIB_WITH_NLS.  (#385132, Laszlo Peter)
773
774 2006-12-12  Matthias Clasen  <mclasen@redhat.com>
775
776         * configure.in: Add a check for broken poll on Mac OS X.
777
778         * glib/gmain.c: Use poll emulation on OS X.  (#302672, Toby Peterson,
779         patch by Dave Vasilevsky)
780
781 2006-12-11  Matthias Clasen  <mclasen@redhat.com>
782
783         * glib/gatomic.c: Don't use local numeric labels in
784         inline assembler on AIX.  (#316434, Hans Rosenfeld)
785
786         * glib/gunicode.h (g_utf8_next_char): Cast to const char *,
787         not char *.  (#138153, Nikolai Weibull)
788
789 Wed Nov 22 16:09:13 2006  Tim Janik  <timj@gtk.org>
790
791         * glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
792         Hasselmann in bug #335341, fixes bug #335853.
793
794 2006-11-15  Matthias Clasen  <mclasen@redhat.com>
795
796         * m4macros/glib-gettext.m4: Apply a patch from James
797         Henstridge for compatibility with automake 2.60 (#343825)
798
799 2006-11-14  Behdad Esfahbod  <behdad@gnome.org>
800
801         * sanity_check: Replace bash-specific == with sh-understood =.
802         Fixes bug #373864.
803
804 2006-11-05  Hans Breuer  <hans@breuer.org>
805
806         * glib/makefile.msc.in : glib/ version not the gobject/
807         one I accidentially commited. Fixes bug #371074.
808
809 2006-11-05  Tor Lillqvist  <tml@novell.com>
810
811         * makefile.mingw
812         * gmodule/makefile.mingw.in
813         * glib/makefile.mingw.in
814         * gobject/makefile.mingw.in
815         * gthread/makefile.mingw.in
816         * tests/makefile.mingw.in: Remove from CVS. Haven't been
817         maintained or distributed for long.
818
819 2006-10-26  Pascal Terjan  <pterjan@linuxfr.org>
820
821         * glib/libcharset/localcharset.c: Fix small leak on failed
822         realloc in _g_locale_get_charset_aliases (#338582)
823
824 2006-10-16  Behdad Esfahbod  <behdad@gnome.org>
825
826         * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
827         Peter Kjellerstedt)
828
829 2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>
830
831         * tests/Makefile.am: Compile errorcheck-mutex-test with thread
832         libraries explicitly. (#74748, Javier Villavicencio)
833
834 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
835
836         Add a way to obtain Unicode script information.  (#348348,
837         Marco Barisione)
838
839         * glib/glib.symbols:
840         * glib/gunicode.h: Add GUnicodeScript enumeration and
841         g_unichar_get_script.
842
843         * glib/guniprop.c: Implement g_unichar_get_script.
844
845         * glib/gscripttable.h: Generated private header containing
846         script tables.
847
848         * glib/gen-script-table.pl: Script to generate gscripttable.h.
849
850         * glib/Makefile.am: Update
851
852 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
853
854         * tests/run-markup-tests.sh: Small portability fix.  (#347944,
855         Dan McMahill)
856
857 2006-10-07  Tor Lillqvist  <tml@novell.com>
858
859         * glib/gwin32.c (get_package_directory_from_module)
860         (g_win32_get_package_installation_directory): g_strdup the keys
861         that we are passed before adding them to the hash tables, to guard
862         against the caller freeing them. (#355955, Andreas Köhler)
863
864 2006-10-06  Matthias Clasen  <mclasen@redhat.com>
865
866         * glib/gtimer.c: Fix a typo.  (#359190)
867
868 2006-10-02  Behdad Esfahbod  <behdad@gnome.org>
869
870         * glib/Makefile.am:
871         * gobject/Makefile.am:
872         Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
873         (#358966)
874
875 2006-10-01  Matthias Clasen  <mclasen@redhat.com>
876
877         * glib/gtimer.c (g_usleep): Use nsleep to implement
878         g_usleep on AIX.  (#321974, Andrew Paprocki)
879
880         * configure.in: Check for nsleep
881
882         * glib/gmain.c: Fix typos in doc comments.
883         (#358421, Tom Tromey)
884
885 2006-09-30  Matthias Clasen  <mclasen@redhat.com>
886
887         * glib/pltcheck.sh: A script to check PLT entries.
888         * glib/Makefile.am (TESTS): Run pltcheck.sh
889
890         * glib/*: Fix includes to correct some issues with
891         PLT entries.  (#354522, Behdad Esfahbod)
892
893 2006-09-17  Hans Breuer  <hans@breuer.org>
894
895         * glib/makefile.msc.in gobject/makefile.msc.in : better filtering
896         of G_GNUC_* stuff when generating .def files. Now also works with
897         newer (less tolerant) linkers, e.g. from vc2500e
898
899 2006-09-10  Matthias Clasen  <mclasen@redhat.com>
900
901         * glib/gbacktrace.c: Assume string.h is available.
902         (#354523, Behdad Esfahbod)
903
904         * configure.in: Bump version to 2.13.0
905
906         * glib/glib.symbols:
907         * glib/gmain.[hc]: Add functions to create approximate
908         timeouts.  (#353942, Arjan van de Ven)
909
910         * glib/gstdio.c (g_rename): Initialize save_errno.
911         (#355206, Mike Edenfield)
912
913 2006-09-03  Matthias Clasen  <mclasen@redhat.com>
914
915         * glib/gerror.c: Allocate GErrors using the slice allocator.
916         (#354054, Matt Barnes)
917
918 2006-09-02  Matthias Clasen  <mclasen@redhat.com>
919
920         * glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.
921
922 2006-09-02  Tor Lillqvist  <tml@novell.com>
923
924         * glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
925         declarations and code) in Win32 ifdef branch. (#353903, Mike
926         Edenfield)
927
928 2006-09-01  Abel Cheung  <abel@oaka.org>
929
930         * configure.in: Added 'dz' 'hy' to ALL_LINGUAS.
931
932 2006-09-01  Matthias Clasen  <mclasen@redhat.com>
933
934         * configure.in: Check for CLOCK_MONOTONIC.
935
936         * glib/gtimer.c: Only use clock_gettime if we
937         have a monotonic clock.
938
939 2006-08-31  Matthias Clasen  <mclasen@redhat.com>
940
941         * configure.in: Add missing includes to a few test
942         programs.  (#353580, Chris Wilson)
943
944 2006-08-30  Matthias Clasen  <mclasen@redhat.com>
945
946         * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
947         va_end on caller-provided va_args.  (#353584, Chris Wilson)
948
949 2006-08-29  Tor Lillqvist  <tml@novell.com>
950
951         Remove support for Windows 9x/ME, as will be done also in Pango
952         and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
953         it's pretty pointless to keep the Win9x code in here either. If
954         somebody is interested, the code can always be found in older GLib
955         versions, and in CVS.
956
957         * glib/gdir.c
958         * glib/gfileutils.c
959         * glib/gspawn-win32-helper.c
960         * glib/gspawn-win32.c
961         * glib/gstdio.c
962         * glib/gutils.c
963         * glib/gwin32.c
964         * glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
965         G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
966         branches, and any variables or static functions used only by the
967         Win9x branches.
968
969         * glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
970         run on Win9x.
971
972 2006-08-27  Matthias Clasen  <mclasen@redhat.com>
973
974         * configure.in: Fix pthread compiler flag detection.
975
976         * glib/gtimer.c: Use Posix monotonic clocks instead of
977         gettimeofday when available.  (#336114, William Jon McCann)
978
979 2006-08-26  Matthias Clasen  <mclasen@redhat.com>
980
981         * glib/gutils.h:
982         * glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
983
984 2006-08-25  Matthias Clasen  <mclasen@redhat.com>
985
986         * configure.in: Fix the pthread compiler flag detection.
987
988         * glib/gunicode.h:
989         * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
990         from gconvert.c, move it to gutf8.c, and export it privately.
991
992         * glib/gconvert.c (g_filename_display_name): Adjust callers.
993
994         * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
995         places to ensure error messages are valid UTF-8.  (#351853,
996         Simon Budig)
997
998 2006-08-22  Matthias Clasen <mclasen@redhat.com>
999
1000         * Branch for 2.12