[REVERT] Bug 548612 – g_strstr_len() should use memmem when available
[platform/upstream/glib.git] / ChangeLog
1 2008-08-28  Ryan Lortie  <desrt@desrt.ca>
2
3         [REVERT] Bug 548612 – g_strstr_len() should use memmem when available
4
5         * glib/gstrfuncs.c (g_strstr_len): fix off-by-one memory access error
6         * glib/tests/strfuncs.c (test_bounds): add some new test cases that
7         would catch problems like this
8         * glib/tests/4096-random-bytes: test data for the previous
9         * glib/tests/Makefile.am: add previous to EXTRA_DIST
10         
11 2008-08-28  Ryan Lortie  <desrt@desrt.ca>
12
13         [REVERT] Bug 548612 – g_strstr_len() should use memmem when available
14
15         * configure.in:
16         * glib/gstrfuncs.c (g_strstr_len): revert use of memmem (see bug)
17
18 2008-08-28  Matthias Clasen  <mclsaen@redhat.com>
19
20         * configure.in: Change libselinux detection to not link libglib
21         against it.
22
23 2008-08-28  Michael Natterer  <mitch@imendio.com>
24
25         * glib/gstrfuncs.c (g_parse_long_long): make "endptr" const since
26         it's always a pointer into the const string passed. Remove some
27         casting to (gchar*) in this function.
28
29         (g_ascii_strtoull)
30         (g_ascii_strtoll): cast "endptr" to (const gchar**) here when
31         passing it to above function.
32
33 2008-08-28  Bastien Nocera  <hadess@hadess.net>
34
35         Bug 548612 – g_strstr_len() should use memmem when available
36
37         * glib/tests/strfuncs.c (test_strstr):
38         * tests/string-test.c (main): Patch by Paolo Borelli
39         <pborelli@katamail.com> to move the tests to the right place,
40         and add more tests
41
42         * glib/gstrfuncs.c (g_strstr_len): Fix problem with memmem ignoring
43         nul-terminators in strings, and using the haystack_len instead
44
45 2008-08-28  Bastien Nocera  <hadess@hadess.net>
46
47         Bug 548612 – g_strstr_len() should use memmem when available
48
49         * configure.in: detect whether memmem is available in the C library
50         * glib/gstrfuncs.c (g_strstr_len): use memmem for g_strstr_len() if
51         available in it's available, as it could be optimised by the C library
52         * tests/string-test.c (main): Add a few tests for g_strstr_len()
53
54 2008-08-27  Tor Lillqvist  <tml@novell.com>
55
56         * glib/giowin32.c: Stylistic changes. Plug an unlikely memory leak
57         that occurred in create_thread() if closing the thread handle
58         failed. Add more error messages to g_io_win32_free() that are
59         printed only when debugging. Plug handle leak, a socket channel's
60         event was never closed.
61
62 2008-08-27  Tor Lillqvist  <tml@novell.com>
63
64         * config.h.win32.in: Should not define HAVE_DIRENT_H when
65         compiling with MSVC, as the only file which checks HAVE_DIRENT_H
66         is gdir.c, and that includes the dirent.h and wdirent.c from
67         build/win32/dirent explicitly anyway when being compiled with
68         MSVC.
69
70 2008-08-22  Björn Lindqvist  <bjourne@gmail.com>
71
72         Bug 523939 – Example program for GValue
73
74         * gobject/gvalue.c: Add code example that demonstrates GValue's
75         features.
76
77 2008-08-21  Tor Lillqvist  <tml@novell.com>
78
79         * glib/giowin32.c: Minor comment improvements. Improve run-time
80         warning messages. Drop some #if 0 code. Don't bother compiling the
81         binary compatibility g_io_channel_win32_new_stream_socket()
82         function that has not been mentioned in any header since 2.0 on
83         Win64.
84
85         * glib/glib.symbols: Mark it, too, private, and don't export it on
86         Win64.
87
88 2008-08-21  Tor Lillqvist  <tml@novell.com>
89
90         * glib/gmain.c: Rework the g_poll() implementation on Windows to
91         match poll() semantics more closely. This makes the test program
92         in bug #468910 behave better and doesn't seem to break anything
93         else.
94
95         If polling several GPollFDs, i.e. messages and/or waitable
96         handles, first check if one or several of them are in the
97         signalled state right away, with timeout zero. Return indication
98         for all that are in that case. To check if several handles are
99         signalled, we have to call the WaitForMultipleObjectsEx() function
100         repeatedly, each time removing the handle it indicated was
101         signalled last time, until WAIT_TIMEOUT is returned.
102
103         If not, then poll with timeout and indicate only the single one
104         that the Win32 wait function tells us as before.
105
106         Remove unnecessary ifdefs, as we always have G_MAIN_POLL_DEBUG
107         defined on Windows.
108
109         Initialise g_main_poll_debug in g_main_context_new() so we have it
110         before testing it in one case.
111
112         Don't put several copies of a handle in the array of handles to
113         wait for. The documentation says this is not allowed, although it
114         did seem to work fine in practise. But do as the documentation
115         says anyway.
116
117 2008-08-20  Tor Lillqvist  <tml@novell.com>
118
119         Bug 500246 - Bug fixes for giowin32
120
121         * glib/giowin32.c (read_thread) (write_thread): Change the nbytes
122         variables to signed.
123         (g_io_channel_win32_make_pollfd): Fix an obvious error in the file
124         descriptor case leftover after the patch from bug #333098 on
125         2006-03-02. Thanks to Marcus Brinkmann.
126
127 2008-08-20  Tor Lillqvist  <tml@novell.com>
128
129         Bug 324234 - Using g_io_add_watch_full() to wait for connect() to
130         return on a non-blocking socket returns prematurely
131
132         Bug 548278 - Async GETs connections are always terminated
133         unexpectedly on Windows
134
135         * glib/giowin32.c: Add one more state variable to the
136         GIOWin32Channel struct, ever_writable. Initialise it to FALSE, set
137         to TRUE when the WSAEventSelect() indicates FD_WRITE, and never
138         reset to FALSE.
139
140         Don't do the WSASetEvent() in g_io_win32_prepare() unless
141         ever_writable is TRUE. Don't automatically indicate G_IO_OUT in
142         g_io_win32_check() unless ever_writable is TRUE.
143
144         This fixes the behaviour of the test case program in bug #548278,
145         and the "Testcase for the spurious OUT event bug" in bug
146         #324234. It also doesn't seem to break anything. Not that there is
147         any exhaustive test suite...
148
149         Add a comment with a list of bugs that are related to the code in
150         this file.
151
152 2008-08-18  Matthias Clasen  <mclasen@redhat.com>
153
154         * configure.in: Bump version
155
156 2008-08-18  Matthias Clasen  <mclasen@redhat.com>
157
158         * === Released 2.17.7 ===
159
160 2008-08-17  Sven Neumann  <sven@gimp.org>
161
162         * NEWS: mention GWinHttpVfs.
163
164 2008-08-16  Matthias Clasen  <mclasen@redhat.com>
165
166         * NEWS: Updates
167
168 2008-08-15 12:41:26  Tim Janik  <timj@imendio.com>
169
170         * glib/gtestutils.c: changed assertion messages, so older emacsen
171         can also detect failing source file and line, fixes:
172         Bug 502498 – Test framework assertion failures should follow gcc error format
173
174 2008-08-14  Matthias Clasen  <mclasen@redhat.com>
175
176         Bug 547832 – gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict,
177         and unnecessary
178
179         * configure.in: Be a little bit more forgiving when checking
180         for mmap. Patch by Peter O'Gorman
181
182 2008-08-13  Matthias Clasen  <mclasen@redhat.com>
183
184         Bug 547337 – G_DISABLE_DEPRECATED breaks tests build
185
186         * tests/testglib.c: Protect deprecated API by ifdefs.
187         Patch by Kalle Vahlman
188
189 2008-08-13  Matthias Clasen  <mclasen@redhat.com>
190
191         Bug 547637 – unconditional #include of sys/statfs.h in configure
192         impedes detection of statfs things if non-existant
193
194         * configure.in: Protect the statfs.h include by guards.
195
196 2008-08-12  Federico Mena Quintero  <federico@novell.com>
197
198         * glib/gi18n-lib.h: In the #error about having to define
199         GETTEXT_PACKAGE, add a hint about a possibly-missing config.h.
200
201 2008-08-11  Behdad Esfahbod  <behdad@gnome.org>
202
203         Bug 547200 – g_utf8_find_next_char() issues
204
205         * glib/gutf8.c: Improve wording about @end arguments in str funcs.
206
207 2008-08-10  Behdad Esfahbod  <behdad@gnome.org>
208
209         * glib/gutf8.c: Fix docs to use "nul-terminated" consistently.
210
211 2008-08-08  Ryan Lortie  <desrt@desrt.ca>
212
213         Fix 'fail' markup test cases to -not- be valid XML 1.1.
214
215         * tests/markups/fail-32.gmarkup: change &#x10; to &#x0; since the
216         former is no longer a failure.
217
218 2008-08-08  Ryan Lortie  <desrt@desrt.ca>
219
220         Bug 546876 - Modify GMarkup parser to accept &#x1; .. &#x1f;
221
222         * glib/gmarkup.c: previously the parser only accepted character
223         references for \t \n and \r (as per XML 1.0); now it accepts all
224         of &#x1; .. &#x1f;.
225
226 2008-08-07  Tor Lillqvist  <tml@novell.com>
227
228         * configure.in: Output comment clarifying GPid semantics to
229         glibconfig.h.
230
231         * glibconfig.h.win32.in: Ditto here.
232
233 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
234
235         Bug 546329 – API docs for g_utf8_normalize() are incorrect
236
237         * glib/gunidecomp.c: Remove inaccurate information about
238         g_utf8_collate() from g_utf8_normalize() docs.
239         Pointed out by Sven Neumann.
240
241 2008-08-04  Tor Lillqvist  <tml@novell.com>
242
243         * glibconfig.h.win32.in: Make the union _GSystemThread::data array
244         8 bytes on Win64. Not that it matters as the union contains a
245         pointer also anyway, but for equivalence with the configure-
246         generated glibconfig.h
247
248 2008-08-04  Tor Lillqvist  <tml@novell.com>
249
250         * glib/gmain.c (g_get_current_time): MSDN says: "Do not cast a
251         pointer to a FILETIME structure to either a LARGE_INTEGER* or
252         __int64* value because it can cause alignment faults on 64-bit
253         Windows." So don't do that then. Indeed the code did work randomly
254         on Win64 when compiled with optimisation.
255
256 2008-08-04  Tor Lillqvist  <tml@novell.com>
257
258         * glib/giowin32.c
259         * glib/gmain.c
260         * glib/gspawn-win32.c
261         * glib/gspawn-win32-helper.c: Change gssize casts introduced on
262         2008-07-28 to gintptr casts now that we have that. gssize is as
263         such the same as gintptr on both 32- and 64-bit Windows, but the
264         gintptr name indicates that it is used to hold pointers, i.e. also
265         HANDLEs.
266
267         * tests/testglib.c: Avoid warning on Win64 by using gintptr cast
268         instead if long cast.
269
270 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
271
272         * configure.in: Bump version
273
274 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
275
276         * === Released 2.17.6 ===
277
278 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
279
280         * configure.in: Bump version
281
282         * === Released 2.17.5 ===
283
284         * NEWS: Updates
285
286 2008-08-02  Tor Lillqvist  <tml@novell.com>
287
288         * glibconfig.h.win32.in: Add gintptr and guintptr typedefs here,
289         too, appropriately ifdeffed for 32/64 bit, gcc/MSVC. Add 64-bit
290         versions of GPOINTER_TO_INT(), GPOINTER_TO_UINT() and vice versa,
291         too.
292         
293 2008-08-01  Matthias Clasen  <mclasen@redhat.com>
294
295         * NEWS: Updates
296         
297 2008-08-01  Matthias Clasen  <mclasen@redhat.com>
298
299         Bug 545798 – "Since: 2.18" mark is missing in g_set_error_literal
300         documentation
301
302         * glib/gerror.c (g_set_error_literal): Add a Since: marker.
303         Pointed out by Kouhei Sutou
304
305 2008-07-30  Tor Lillqvist  <tml@novell.com>
306
307         Bug 545485 - Implicit declaration of utime()
308
309         * glib/gstdio.c: Include <utime.h> on POSIX.
310
311 2008-07-28  Tor Lillqvist  <tml@novell.com>
312
313         * configure.in: Output to glibconfig.h typedefs for gintptr as the
314         signed integer type that can hold a pointer, and guintptr as the
315         corresponding unsigned type. These types are portable equivalents
316         to intptr_t and uintptr_t which are not available in all
317         compilers.
318
319         For all current platforms, they will presumably end up as the same
320         types as gssize and gsize, but in theory size_t can be smaller
321         than intptr_t. Also, the intended use case for gintptr and
322         guintptr is different from that of gssize and gsize. As the name
323         indicates, gintptr is for when one wants an integer type that can
324         hold a pointer, and gsize is for when one wants an integer type
325         that can hold the value of the sizeof operator.
326
327 2008-07-28  Matthias Clasen  <mclasen@redhat.com>
328
329         Bug 544465 – gmarkup makes it hard to use pre-rolled parsers
330
331         * glib/glib.symbols:
332         * glib/gmarkup.[hc]: Add g_markup_context_get_user_data.
333         Patch by Ryan Lortie
334
335 2008-07-28  Tor Lillqvist  <tml@novell.com>
336
337         * glib-zip.in: Message catalogs should always get installed into
338         share/locale nowadays, don't bother with the convoluted logic
339         checking if they are in lib/locale instead. Put the correct helper
340         programs in the zipfile.
341
342 2008-07-28  Tor Lillqvist  <tml@novell.com>
343
344         Fix problems on 64-bit Windows. Avoid warnings, some of which
345         indicated actual problems, some which were just annoyances. 
346
347         Where casts to an integer type are needed for pointers, use
348         gssize. Technically intptr_t would be the more proper type, but we
349         still want to be compilable with MSVS6 and 7 which don't have
350         intptr_t. MSVS8 and 9 do have intptr_t, but in <crtdefs.h>, not
351         <stdint.h>.
352
353         Use %p to print out handles. Use gssize casts when assigning
354         GPollFD::fd fields.
355
356         Use G_GSIZE_FORMAT when printing size_t values.
357         
358         * configure.in: Define automake conditional G_OS_WIN32_X64 which
359         is true on Win64.
360
361         * glib/giochannel.h: Use slightly different prototype for
362         g_io_channel_win32_new_messages() on Win64 with gsize instead of
363         guint.
364
365         * glib/giowin32.c
366         * glib/gmain.c
367         * glib/gspawn-win32.c
368         * tests/testglib.c: Generic changes as described above.
369
370         * glib/gmain.h: Don't bother mentioning GIMP in comment.
371
372         * glib/grel.c (tuple_hash_2): Use all bits of pointer.
373
374         * glib/gspawn-win32.c
375         * glib/gspawn-win32-helper.c: Use gssize types in the
376         communication between parent and helper process, so that we can
377         pass process handles, which are pointers, also on Win64.
378
379         * glib/gtimer.c (g_time_val_to_iso8601): time_t is 64 bits on
380         Win64 so we can't pass the address of a GTimeVal::tv_sec which is
381         a long directly to gmtime(). On the other hand, changing
382         GTimeVal::tv_sec to be a gint64 on Win64 is not really feasible
383         either, as that would then require changes in much code that uses
384         GTimeVals.
385
386         * glib/gspawn-win32.c
387         * glib/Makefile.am: Call the helper programs
388         gspawn-win64-helper.exe and gspawn-win64-helper-console.exe on
389         Win64, to avoid potential risk of running a 32-bit version of the
390         helper.
391
392 2008-07-27  Tor Lillqvist  <tml@novell.com>
393
394         * glib/glib.symbols
395         * glib/gconvert.c
396         * glib/gdir.c
397         * glib/gfileutils.c
398         * glib/giowin32.c
399         * glib/gspawn-win32.c
400         * glib/gutils.c
401         * glib/gwin32.c: Bypass the Windows "ABI compatibility" symbols on
402         _WIN64. As there hasn't been any widely deployed 64-bit Windows
403         builds of the really old GLib (pre-2.8.1) versions those refer to,
404         there is no need to have the "ABI compatibility" versions in the
405         DLL.
406
407         * glib/makegalias.pl: Handle #ifndef _WIN64: Just output it, too.
408
409 2008-07-27  Tor Lillqvist  <tml@novell.com>
410
411         * configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on
412         Windows. AC_SUBST it.
413
414         * glib/Makefile.am (glib-2.0.lib): Pass appropriate -machine flag
415         to lib.exe.
416
417 2008-07-25 15:47:08  Tim Janik  <timj@imendio.com>
418
419         * glib/tests/testing.c (test_random_conversions): added new sample
420         test to prepare for extended range random tests.
421
422 2008-07-24  Tor Lillqvist  <tml@novell.com>
423
424         * glib/gdir.c: Include <stdio.h> for FILENAME_MAX on newer mingw
425         installations.
426
427 2008-07-24  Tor Lillqvist  <tml@novell.com>
428
429         * glib/gslice.c (smc_notify_free): Use G_GSIZE_FORMAT instead of
430         the C99 "zu".
431
432 2008-07-24  Tor Lillqvist  <tml@novell.com>
433
434         * configure.in: Must output the GLIB_USING_SYSTEM_PRINTF to
435         glibconfig.h using the same two phase code as for the other
436         defines in it. Can't check enable_included_printf directly in the
437         shell code that is the first argument to AC_CONFIG_COMMANDS().
438
439         Preset glib_cv_stack_grows=no on Windows to help
440         cross-compilation.
441
442         * configure.in: Enhancements for 64-bit Windows: 
443
444         Handle also size_t being larger than long. It is long long
445         a.k.a. __int64 on the LLP64 Win64.
446
447         Set glib_void_p and glib_long correctly. Their assignments were
448         crossed. It hasn't mattered on LP64 platforms like all (?) 64-bit
449         UNIXes, but on the LLP Win64 it was wrong.
450
451         * glibconfig.h.win32.in: Check also _WIN64.
452
453 2008-07-24  Tor Lillqvist  <tml@novell.com>
454
455         * glibconfig.h.win32.in: Patch for 64-bit Windows from Richard
456         Hult.
457
458 2008-07-23  Matthias Clasen  <mclasen@redhat.com>
459
460         544088 – option_test_LDADD is left in tests/Makefile.am
461
462         * tests/Makefile.am: Remove leftovers. 
463         Noticed by Hiroyuki Ikezoe
464
465 2008-07-22  Mathias Hasselmann  <mathias@openismus.com>
466
467         Set LANG variable for group caption tests to get reproducable results.
468
469         * glib/tests/option-context.c (group_captions()):
470           Set LANG variable to C in the forked process to get reproducable.
471           Don't silence the forked process in --verbose mode to support
472           debugging.
473
474 2008-07-21  Matthias Clasen  <mclasen@redhat.com>
475
476         * configure.in: Fix detection of struct statfs fields.
477
478 2008-07-21  Matthias Clasen  <mclasen@redhat.com>
479
480         * configure.in: Bump version
481
482 2008-07-21  Matthias Clasen  <mclasen@redhat.com>
483
484         * === Released 2.17.4 ===
485
486         * configure.in: Bump version
487
488         * NEWS: Updates
489
490 2008-07-21  Emmanuele Bassi  <ebassi@gnome.org>
491
492         * glib/gtimer.c (g_time_val_to_iso8601): Use the right format
493         string to get leading zeros when converting to ISO 8601. (Sven
494         Herzberg)
495
496 2008-07-21  Emmanuele Bassi  <ebassi@gnome.org>
497
498         * glib/gbookmarkfile.c:
499         (bookmark_app_info_new): Do not set the timestamp value
500         using time(), as it will be overwritten anyway. (#535223,
501         Michael Meeks)
502
503         (parse_application_element),
504         (bookmark_app_info_dump): Support the "modified" attribute,
505         which takes an ISO-formatted string instead of a Unix time
506         stamp, to keep the number of g_strdup_printf() calls to a
507         minimum.
508
509         * glib/gtimer.c:
510         (g_time_val_to_iso8601): Do not use strftime(): we know
511         the format and contents of the ISO 8601 date format we
512         use.
513
514         * tests/bookmarks/valid-03.xbel: Add a test file for the
515         modified attribute.
516
517 2008-07-19  Matthias Clasen  <mclasen@redhat.com>
518
519         * glib/tests/Makefile.am:
520         * glib/tests/array-test.c: Move array tests here.
521
522         * tests/Makefile.am:
523         * tests/array-test.c: Removed.
524
525 2008-07-20  Tor Lillqvist  <tml@novell.com>
526
527         * glib/giowin32.c (g_io_win32_prepare): Patch from Yu Kuan that
528         makes watched sockets behave much better. See gtk-devel-list
529         archives from May for the (unfortunately rather meager)
530         discussion. This patch fixes the presented simple test program,
531         which reasonably could be expected to work.
532
533 2008-07-18  Matthias Clasen  <mclasen@redhat.com>
534
535         * NEWS: Updates
536
537 2008-07-18  Matthias Clasen  <mclasen@redhat.com>
538
539         Bug 536996 – Missing noop i18n macro equivalent to C_
540
541         * glib/glib.symbols:
542         * glib/gstrfuncs.[hc]: Add g_dpgettext2() which is a 
543         variant of g_dpgettext() taking context and id as separate
544         arguments.
545
546         * glib/gi18n-lib.h:
547         * glib/gi18n.h: Add an NC_() macro that is to C_() as N_()
548         is to _().
549
550 2008-07-18  Matthias Clasen  <mclasen@redhat.com>
551
552         * tests/Makefile.am:
553         * tests/keyfile-test.c:
554         * tests/option-test.c: Remove
555         * glib/tests/option-context.c: Add all GOptionContext tests here.
556         * glib/tests/keyfile.c: Add all GKeyFile tests here.
557
558 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
559
560         Bug 334234 – "printf" format error
561
562         * glib/gslice.c (mem_error): Avoid a warning when printing a pid_t.
563         Pointed out by Morten Welinder. 
564
565 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
566
567         Bug 406120 – g_ascii_strtod
568
569         * glib/gstrfuncs.c (g_ascii_strtod): Document that this
570         function does accept localized infinities and nans. Reported
571         by Morten Welinder.
572
573 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
574
575         Bug 482413 - get_contents_stdio -- overflow and memory corruption
576
577         * glib/gfileutils.c (get_contents_stdio): Detect overflow and
578         error out. Reported by Morten Welinder. 
579
580 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
581
582         Bug 542332 – small fix for error message in GMarkup
583         
584         * glib/gmarkup.c: Improve an error message. 
585         Patch by Ryan Lortie
586
587 2008-07-14  Matthias Clasen  <mclasen@redhat.com>
588
589         Bug 428048 – 2 of 51 tests fail on Solaris
590
591         * tests/iochannel-test.c: Ignore the error if iconv doesn't
592         support EUC-JP.
593
594 2008-07-14  Matthias Clasen  <mclasen@redhat.com>
595
596         * tests/option-test.c: Print error messages when something fails.
597
598 2008-07-14  Matthias Clasen  <mclasen@redhat.com>
599
600         Bug 467707 – test_iconv_state() in tests/convert-test.c fails on AIX 5.3
601
602         * tests/convert-test.c (test_iconv_state): Skip this test if
603         CP1255 is not supported.  
604
605 2008-07-10  Ryan Lortie  <desrt@desrt.ca>
606
607         * docs/reference/glib/glib-sections.txt:
608         * glib/glib.symbols:
609         * glib/gmarkup.c:
610         * glib/gmarkup.h: add functions g_markup_parse_context_{push,pop} in
611         order to provide some small hooks on which to build easy-to-use
612         subparsers.
613  
614         * glib/tests/Makefile: add new test
615         * glib/tests/markup-subparser.c: new test for subparsers
616  
617         Fixes bug #337518.
618
619 2008-07-05  Matthias Clasen  <mclasen@redhat.com>
620
621         Bug 528317 – GRegex does not allow recursion limit
622
623         * glib/pcre/Makefile.am: Set a sane default recursion limit
624         of 8192 instead of 1000000. 
625         Patch by Mart Raudsepp.
626
627 2008-07-04  Behdad Esfahbod  <behdad@gnome.org>
628
629         Bug 541507 – Ambiguous description of assigned characters in the Glib
630         Unicode Manipulation reference
631
632         * glib/guniprop.c
633         (g_unichar_isgraph): Return true for PrivateUse too.
634         (g_unichar_isprint): Return true for PrivateUse too.
635         (g_unichar_isdefined): Return false for Surrogate.
636
637 2008-07-04  Michael Natterer  <mitch@imendio.com>
638
639         Bug 541208 – Functions to easily install and use signals without
640         class struct slot
641
642         * tests/gobject/override.c: added tests for the new gsignal
643         overriding and chaining APIs.
644
645 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
646
647         * === Released 2.17.3 ===
648
649 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
650
651         * configure.in: Better endianness fix. From Tomas Mraz.
652
653 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
654
655         * NEWS: Updates
656
657 2008-07-02  Colin Walters  <walters@redhat.com>
658
659         * gio/gcontenttype.c: Use UNLOCK to unlock, not LOCK.
660
661 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
662
663         * configure.in: Add a check for structfs.f_bavail
664
665 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
666
667         * glib/gmain.c (g_get_current_time): Add a g_return_val_if_fail
668         check in both versions. Proposed by Patrik Olsson in bug 540545.
669
670 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
671
672         * configure.in: Workaround AC_C_BIGENDIAN breakage in autoconf 2.61.
673         Add a _cv_ to some variable names, since autoconf wants it.
674
675 2008-06-30  Matthias Clasen  <mclasen@redhat.com>
676
677         * glib/pcre/pcre_compile.c: Apply fix for CVE-2008-2371 to
678         fix a heap-based buffer overflow.
679
680 2008-06-29  Björn Lindqvist  <bjourne@gmail.com>
681
682         Bug 539626 – Update docstrings for g_object_freeze_notify and
683         g_object_thaw_notify
684
685         * gobject/gobject.c: Explain how the freeze count works.
686
687 2008-06-26  Cody Russell  <bratsche@gnome.org>
688
689         * configure.in: Add #define GLIB_USING_SYSTEM_PRINTF
690         to glibconfig.h, which specifies if GLib is using
691         the system printf functions for g_print*().
692         (#539999, by Tim-Philipp Müller)
693
694 2008-06-24  Paolo Borelli  <pborelli@katamail.com>
695
696         Bug 539770 - migrate gstrfunc unit tests to gtest
697
698         * tests/strfunc-test.c:
699         * tests/testglib.c:
700         * tests/strtoll-test.c:
701         * tests/strtod-test.c:
702         * tests/string-test.c:
703         * tests/Makefile.am:
704         Removed old tests.
705
706         * glib/tests/fileutils.c:
707         * glib/tests/strfuncs.c:
708         * glib/tests/Makefile.am:
709         Added all the old tests migrated to the new unit test framework
710         and add new unit tests for some of the functions.
711
712 2008-06-23  Kristian Rietveld  <kris@imendio.com>
713
714         * gobject/glib-mkenums.in: introduce an ENUMPREFIX substitution.
715
716         * gio/gioenumtypes.h.template: use @ENUMPREFIX@ instead of
717         hard coding "G" as prefix.
718
719 2008-06-22  Stefan Kost  <ensonic@users.sf.net>
720
721         * glib/gurifuncs.c:
722           Fix markup in comment.
723
724 2008-06-21  Johan Dahlin  <jdahlin@async.com.br>
725
726     * *.[ch]: Include "config.h" instead of <config.h>
727     Command used:
728     find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
729     Rubberstamped by Mitch
730
731 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
732
733         Bug 316221 - G_LOCK warns about breaking strict-aliasing rules
734
735         * configure.in:
736         * glib/gthread.h: Revert previous patch as it doesn't improve the
737         situation and results in other warnings.
738
739 2008-06-16  Christian Persch  <chpe@gnome.org>
740
741         Bug 539123 – annotate g_d[n]gettext with G_GNUC_FORMAT
742
743         * glib/gstrfuncs.h:
744         * glib/glib.symbols: Annotate some functions with G_GNUC_FORMAT. 
745
746 2008-06-19  Tor Lillqvist  <tml@novell.com>
747
748         Bug 539074 - Cannot get exit status with g_spawn_command_line_sync()
749
750         * glib/gspawn-win32-helper.c (main): Write also the exit status of
751         the spawned process to the error report pipe. Patch by Hiroyuki
752         Ikezoe.
753
754 2008-06-19  Matthias Clasen  <mclasen@redhat.com>
755
756         Bug 535949 – annotate g_strip_context and g_dpgettext with
757         G_GNUC_FORMAT
758
759         * glib/gstrfuncs.h:
760         * glib/glib.symbols: Annotate some functions with G_GNUC_FORMAT.
761         Patch by Christian Persch
762
763 2008-06-19  Matthias Clasen  <mclasen@redhat.com>
764
765         Bug 539067 – The document g_io_channel_win32_new_fd() says that "Your
766         code should call only g_io_channel_read()." but gio_channel_read() is
767         deprecated
768
769         * glib/giochannel.h: Fix a reference in a comment
770         Patch by Hiroyuki Ikezoe 
771
772 2008-06-18  Matthias Clasen  <mclasen@redhat.com>
773
774         Bug 537635 – Corrections and improvements to
775         g_time_val_from_iso8601()/g_time_val_to_iso8601()
776
777         * glib/gtimer.c (g_time_val_from_iso8601): set tv_usec to 0 rather 
778         than 1 when a fraction of a second is not specified
779         (g_time_val_from_iso8601): calculate a fraction of a second
780         correctly even in case it does not happen to consist of exactly 
781         six digits; do not allow random data after the ISO 8601 string,
782         only whitespace
783         (make g_time_val_to_iso8601): support fractions of a second
784         Patch by Peter Kjellerstedt
785
786         * tests/testglib.c: Update to match
787
788 2008-06-16  Christian Persch  <chpe@gnome.org>
789
790         * glib/gbookmarkfile.c
791         * glib/gconvert.c
792         * glib/gfileutils.c
793         * glib/giochannel.c
794         * glib/giounix.c
795         * glib/giowin32.c
796         * glib/gkeyfile.c
797         * glib/gregex.c
798         * glib/gshell.c
799         * glib/gspawn-win32.c
800         * glib/gutf8.c: Use g_set_error_literal where appropriate. Patch from 
801         bug #535947.
802
803 2008-06-16  Christian Persch  <chpe@gnome.org>
804
805         * docs/reference/glib/glib-sections.txt:
806         * glib/gerror.c:
807         * glib/gerror.h:
808         * glib/glib.symbols: Add g_set_error_literal. Bug #535947.
809
810 2008-06-16  Michael Natterer  <mitch@imendio.com>
811
812         * glib/goption.c (dgettext_swapped): changed return value to
813         const gchar* to fix warning.
814
815 2008-06-14  Matthias Clasen  <mclasen@redhat.com>
816
817         * glib/gtestutils.c: Move docs around
818
819         * glib/gchecksum.h: Add docs.
820
821 2008-06-13  Matthias Clasen  <mclasen@redhat.com>
822
823         Bug 538119 – glib's mainloop leaks a pipe to sub-processes
824
825         * glib/gmain.c (g_main_context_init_pipe): Don't leak the
826         pipes to child processes. Patch by Thiago Macieira.
827
828 2008-06-13  Hans Breuer  <hans@breuer.org>
829
830         * glib/gstrfuncs.c : to get the default translation target on
831         win32 use g_win32_get_locale() instead of setlocale(LS_MESSAGES,NULL)
832         Fixes bug #538044
833
834         * glib/makefile.msc.in gio/makefile.msc : updated
835
836 2008-06-12  Matthias Clasen  <mclasen@redhat.com>
837
838         * configure.in: Bump version
839         
840         * === Released 2.17.2 ===
841
842         * configure.in: Fix LINGUAS conversion
843
844 2008-06-12  Matthias Clasen  <mclasen@redhat.com>
845
846         * configure.in: Bump version
847
848         * === Released 2.17.1 ===
849
850 2008-06-12  Matthias Clasen  <mclasen@redhat.com>
851
852         * glib/gtestutils.c: Documentation fixups
853
854 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
855
856         * glib/glist.c: Tiny doc fix
857
858 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
859
860         * NEWS: Updates
861
862 2008-06-11  Behdad Esfahbod  <behdad@gnome.org>
863
864         Bug 503071 – Application direction changes to right to left even if
865         theres no translation
866
867         * glib/gi18n-lib.h:
868         * glib/glib.symbols:
869         * glib/gstrfuncs.h:
870         * glib/gstrfuncs.c:
871         Add new functions g_dgettext() and g_dngettext().
872
873         * glib/gutils.c (glib_gettext):
874         * glib/gfileutils.c (g_format_size_for_display):
875         * glib/goption.c (dgettext_swapped):
876         Use the new functions.
877
878 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
879
880         Bug 502511 – g_assert_cmphex prints invalid message
881
882         * glib/gtestutils.c (g_assertion_message_cmpnum): Actually print
883         hex numbers in hex. 
884         Pointed out by Tor Lillqvist
885
886 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
887
888         Bug 338162 – [PATCH] Use po/LINGUAS
889
890         * po/LINGUAS: New file
891         * po/Makefile.in.in: Dist LINGUAS
892         * configure.in: Use po/LINUAS
893         Patch by Thomas Andersen
894
895 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
896
897         Bug 314453 – Nautilus crashes in Solaris when browsing the attached
898         file
899
900         * glib/gunicollate.c (g_utf8_collate_key): Handle strfxrm returning
901         -1 a little better. Problem pointed out by Takao Fujiwara
902
903 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
904
905         Bug 529321 – make check fails in glib/pcre
906
907         * glib/pcre/Makefile.am: include Makefile.decl to fix 'make check'.
908         Patch by Hiroyuki Ikezoe
909
910 2008-06-11  Tor Lillqvist  <tml@novell.com>
911
912         * glib/giowin32.c: g_win32_error_message() works fine for the
913         Winsock WSA* error codes, too, so drop the winsock_error_message()
914         function.
915
916 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
917
918         Bug 455215 – g_get_user_special_dir: no reference about
919         G_USER_DIRECTORY_DOWNLOAD fallback to $HOME/Desktop if 
920         xdg-user-dirs is not in use
921
922         * glib/gutils.c (g_get_user_special_dir): Improve the docs.
923         Proposed by Luca Ferretti
924
925 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
926
927         Bug 498732 – g_key_file_to_data cannot fail
928
929         * glib/gkeyfile.c (g_key_file_to_data): Improve the docs.
930         Proposed by Christian Persch
931
932 2008-06-11  Ross Burton  <ross@burtonini.com>
933
934         Bug 511367 - add g_file_make_directory_with_parents.
935         
936         * gio/gfile.c:
937         * gio/gfile.h:
938         * gio/gio.symbols: Add g_file_make_directory_with_parents.
939         
940 2008-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
941
942         Bug 531900 – Use __builtin_offsetof for G_STRUCT_OFFSET if building
943         with gcc 4.0 or newer
944
945         * glib/gmacros.h: Use __builtin_offsetof for G_STRUCT_OFFSET if
946         building with gcc 4.0 or newer.
947
948 2008-06-11  Tor Lillqvist  <tml@novell.com>
949
950         * glib/gmain.c
951         * glib/gspawn.c: Clarify what a "child pid" is in the doc
952         comments.
953
954 2008-06-10  Matthias Clasen  <mclasen@redhat.com>
955
956         Bug 536158 – also bump GHashTable version when a node is removed via
957         g_hash_table_iter_remove()/g_hash_table_iter_steal()
958
959         * glib/ghash.c (iter_remove_or_steal): Bump the hash table 
960         version. Patch by Jean-Yves Lefort
961
962 2008-06-07  Tor Lillqvist  <tml@novell.com>
963
964         * glib/gstdio.c (g_access): Define X_OK if necessary (MSVC).
965
966 2008-06-02  Yevgen Muntyan  <muntyan@tamu.edu>
967
968         Bug 531403 – g_utf8_collate broken on Mac.
969
970         * glib/gunicollate.c:  (g_utf8_collate): use UCCompareTextDefault;
971         (collate_key_to_string), (carbon_collate_key_with_collator),
972         (carbon_collate_key), (carbon_collate_key_for_filename): new
973         functions using Carbon API to get collate key for g_utf8_collate_key()
974         and g_utf8_collate_key_for_filename();
975         (g_utf8_collate_key), (g_utf8_collate_key_for_filename): use those.
976
977 2008-05-30  Michael Natterer  <mitch@imendio.com>
978
979         Bug 535628 - test/patterntest.c still includes gpattern.h
980         directly.
981
982         * tests/patterntest.c: don't include "glib/gpattern.h" directly.
983         Patch from Hiroyuki Ikezoe.
984
985 2008-05-30  Tor Lillqvist  <tml@novell.com>
986
987         Bug 535625 - alias.h:2648: error: 'utime' undeclared here (not in
988         a function)
989
990         * glib/glib.symbols: Move g_utime inside #if !defined(G_OS_UNIX)
991         || defined(G_STDIO_NO_WRAP_ON_UNIX).
992
993 2008-05-30  Tor Lillqvist  <tml@novell.com>
994
995         * glib/gstdio.c (g_access) [Win32]: Mask out X_OK to avoid problem
996         on Vista. X_OK was just ignored by access() in earlier Microsoft C
997         libraries. (Which is fine as executability has little meaning on
998         Windows.) The one on Vista returns an error if X_OK is passed.
999
1000 2008-05-29  Tor Lillqvist  <tml@novell.com>
1001
1002         * glib/gstdio.h
1003         * glib/gstdio.c: Add g_utime(). No need to include <sys/utime.h>
1004         in gstdio.h, just use a forward struct declaration.
1005
1006         * glib/glib.symbols: Add it.
1007
1008 2008-05-29  Tor Lillqvist  <tml@novell.com>
1009
1010         * glib/gnulib/printf-args.c (printf_fetchargs): wint_t is short on
1011         Windows, and gcc warns: "wint_t is promoted to int when passed
1012         through ... (so you should pass int not wint_t to va_arg)." And
1013         indeed g_print("%C", L'a') crashes. So do as gcc says then.
1014
1015 2008-05-28  Michael Natterer  <mitch@imendio.com>
1016
1017         * configure.in: add G_DISABLE_SINGLE_INCLUDES to CPPFLAGS
1018         globally.
1019
1020         * glib/tests/option-context.c
1021         * glib/tests/testing.c
1022         * tests/testingbase64.c: don't include <glib/gtestutils.h>
1023
1024 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1025
1026         * configure.in: Bump version
1027
1028         * === Released 2.17.0 ===
1029
1030 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1031
1032         * README.in: Add a note about G_DISABLE_SINGLE_HEADERS.
1033
1034         * NEWS: Updates
1035
1036 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1037
1038         * tests/casemap.txt:
1039         * tests/casefold.txt: Update for Unicode 5.1
1040
1041 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1042
1043         * Revert the patch for bug 527214 and related changes. GTimer
1044         is supposed to work without threads.
1045
1046 2008-05-27  simon.zheng  <simon.zheng@sun.com>
1047
1048         * configure.in: Fix #533369. Check whether memeber statvfs.f_basetype 
1049         available or not.
1050
1051 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1052
1053         * glib/pcre/*: Update to PCRE 7.7
1054
1055 2008-05-26  Matthias Clasen  <mclasen@redhat.com>
1056
1057         * glib/gchecksum.c: Add Since: tag to g_checksum_reset
1058
1059         * glib/glib.symbols: Add g_checksum_reset
1060
1061 2008-05-25  Matthias Clasen  <mclasen@redhat.com>
1062
1063         Bug 534137 – Typo in g_spawn_async_with_pipes doc
1064
1065         * glib/gspawn.c: Fix a typo in the docs, pointed out by Ted Percival.
1066
1067 2008-05-25  Tor Lillqvist  <tml@novell.com>
1068
1069         Bug 534319 - GLib's .pc files could use Libs.private
1070
1071         * glib-2.0-uninstalled.pc.in
1072         * glib-2.0.pc.in
1073         * gmodule-2.0-uninstalled.pc.in
1074         * gmodule-2.0.pc.in
1075         * gmodule-export-2.0.pc.in
1076         * gmodule-no-export-2.0.pc.in: Move ICONV_LIBS and G_MODULE_LIBS
1077         to Libs.private.
1078
1079 2008-05-24  Matthias Clasen  <mclasen@redhat.com>
1080
1081         * glib/gfileutils.c (g_file_open_tmp): Small documention addition.
1082
1083 2008-05-22 10:49:37  Tim Janik  <timj@imendio.com>
1084
1085         * glib/gmacros.h: implement G_STMT_START and G_STMT_END with
1086         do{}while(0), which is believed to be widely portable, fixes:
1087         Bug 519026 - G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
1088
1089 2008-05-20  Behdad Esfahbod  <behdad@gnome.org>
1090
1091         Bug 501651 – Update glib/libcharset
1092
1093         * configure.in:
1094         * glib/libcharset/Makefile.am:
1095         * glib/libcharset/README:
1096         * glib/libcharset/codeset.m4:
1097         * glib/libcharset/config.charset:
1098         * glib/libcharset/glibc21.m4:
1099         * glib/libcharset/libcharset-glib.patch:
1100         * glib/libcharset/libcharset.h:
1101         * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases),
1102         (_g_locale_charset_raw):
1103         * glib/libcharset/localcharset.h:
1104         * glib/libcharset/make-patch.sh:
1105         * glib/libcharset/ref-add.sin:
1106         * glib/libcharset/ref-del.sin:
1107         * glib/libcharset/update.sh:
1108         Update libcharset to the one shipped with libiconv-0.12.
1109
1110 2008-05-20  Behdad Esfahbod  <behdad@gnome.org>
1111
1112         Bug 459905 – Bug in wcwidth data
1113         Bug 534085 – g_unichar_iswide_cjk() has a totally wrong table
1114         * glib/guniprop.c (g_unichar_iswide), (g_unichar_iswide_cjk):
1115         Regenrate wide and wide_cjk tables from Unicode 5.1.0 data directly.
1116         Not using Markus Kuhn's tables anymore.
1117
1118 2008-05-20 14:31:18  Tim Janik  <timj@imendio.com>
1119
1120         * reverted recent unapproved changes by Yair Hershkovitz, regarding:
1121         Bug 503071 – Application direction changes to right to left even if theres no translation.
1122
1123 2008-05-20  Tor Lillqvist  <tml@novell.com>
1124
1125         * configure.in: Don't need memory barriers when using a non-gcc
1126         compiler on Windows either.
1127
1128 2008-05-19  Tor Lillqvist  <tml@novell.com>
1129
1130         * glib/gdir.c: Include the dirent.h and wdirent.c from
1131         ../build/win32/dirent directly here when compiling with MSVC and
1132         without HAVE_DIRENT_H.
1133
1134 2008-05-19  Hans Breuer  <hans@breuer.org>
1135
1136         * glib/makefile.msc : added gi18n.c
1137
1138 2008-05-19  Tor Lillqvist  <tml@novell.com>
1139
1140         * glib/Makefile.am: #define HELPER_CONSOLE in
1141         gspawn-win32-helper-console.c
1142
1143         * glib/gspawn-win32-helper.c: Compile a main() instead of
1144         WinMain() if HELPER_CONSOLE is defined. MSVC insists on a console
1145         application having a main().
1146
1147 2008-05-18  Matthias Clasen  <mclasen@redhat.com>
1148
1149         Bug 527214 – g_timer_elapsed() returns random values.
1150
1151         * glib/gtimer.c (g_timer_new()):
1152         Print warning if g_thread_init() has not been called yet. 
1153         Patch by Mathias Hasselmann
1154
1155 2008-05-12  Jeffrey Stedfast  <fejj@novell.com>
1156
1157         * glib/gchecksum.c (g_checksum_reset): New function to reset the
1158         state of a GChecksum.
1159         (g_checksum_new): Call g_checksum_reset() instead of duplicating
1160         code.
1161
1162 2008-05-17  Matthias Clasen  <mclasen@redhat.com>
1163
1164         Bug 528667 – Typos in testing module documentation
1165
1166         * glib/gtestutils.c: Fix typos in the documentation.
1167
1168 2008-05-17  Tor Lillqvist  <tml@novell.com>
1169
1170         * glib/giowin32.c: Make debugging printout more compact and add
1171         more information to it. No changes to actual functionality.
1172
1173         * glib/gmain.c: Improve debugging printouts. When
1174         G_MAIN_POLL_DEBUG is defined, we check for an environment variable
1175         of the same name to decide whether to print out debugging
1176         information or not. G_MAIN_POLL_DEBUG is always defined on Windows
1177         as there is more often a need to debug this stuff there. On Unix
1178         the definition has to be uncommented (or done on the compile
1179         command line).
1180
1181 2008-05-17  Tor Lillqvist  <tml@novell.com>
1182
1183         * build: Don't include the "build" module with svn:externals any
1184         longer. Instead add the still relevant directories and files from
1185         it for real here in GLib.
1186
1187 2008-05-17  Yair Hershkovitz  <yairhr@gmail.com>
1188
1189         * glib/glib.symbols:
1190         * glib/gi18n.h: Added g_disable_setlocale().
1191
1192         * glib/gi18n.c: Added g_disable_setlocale() API to disable setting
1193         the locale in g_i18n_init(). Dont disable translations if textdomain
1194         was not set before calling g_i18n_init(). Dont disable translations if
1195         the locale is "C".
1196
1197 2008-05-16  Tor Lillqvist  <tml@novell.com>
1198
1199         * config.h.win32.in: Update to match the configure-produced one.
1200
1201 2008-05-14  Michael Natterer  <mitch@imendio.com>
1202
1203         * glib/gatomic.c: #include "config.h" before using G_ATOMIC_ARM.
1204
1205 2008-05-13  Kjartan Maraas  <kmaraas@gnome.org>
1206
1207         * glib/gi18n.c: #include <locale.h> to fix the build.
1208
1209 2008-05-12  Yair Hershkovitz  <yairhr@gmail.com>
1210
1211         * glib/gi18n.c (g_i18n_init): Coding convention fix. Space between
1212         a function name and its opening parenthesis.
1213
1214 2008-05-12  Tor Lillqvist  <tml@novell.com>
1215
1216         * glib/glib.symbols: Add g_i18n_init.
1217
1218 2008-05-12  Tor Lillqvist  <tml@novell.com>
1219
1220         Bug 530457 - G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
1221
1222         * glib/gutils.c (load_user_special_dirs): When running on Vista or
1223         later, use SHGetKnownFolderPath() to get the FOLDERID_Downloads
1224         folder for G_USER_DIRECTORY_DOWNLOAD, and FOLDERID_Public for
1225         G_USER_DIRECTORY_PUBLIC_SHARE.
1226
1227 2008-05-11  Yair Hershkovitz  <yairhr@gmail.com>
1228
1229         Bug 503071 - Application direction changes to right to left even if
1230         theres no translation. 
1231
1232         * glib/gi18n.c: g_i18n_init() for initializing the glib i18n,
1233         checking if a translation is available for the calling app. wrappers for
1234         gettext, dgettext and dpgettext to check first if the application
1235         should be translated.
1236
1237         * glib/gi18n.h: symbol declaration for gettext wrappers.
1238
1239         * glib/gi18n-lib.h: include gi18n.h instead of libintl.h.
1240
1241         * glib/gstrfuncs.c: moved g_dpgettext() to glib/gi18n.c.
1242
1243         * glib/gutils.c: use g_dgettext() instead of dgettext().
1244
1245         * glib/glibintl.h: include gi18n.h.
1246
1247         * glib.symbols: added gettext wrappers.
1248
1249         * glib/Makefile.am: added gi18n.c.
1250
1251 2008-05-05  Michael Natterer  <mitch@imendio.com>
1252
1253         * glib/glib.h: #define __GLIB_H_INSIDE__ around including
1254         everything.
1255
1256         * glib/*.h: check for that define instead of __G_LIB_H__ if
1257         G_DISABLE_SINGLE_INCLUDES is defined.
1258
1259         * glib/gdatasetprivate.h: #include <glib.h> instead of
1260         <glib/gdataset.h>
1261
1262 2008-05-02 13:24:13  Tim Janik  <timj@imendio.com>
1263
1264         * glib/gmain.c: renamed GMainDispatch.dispatching_sources to be more
1265         descriptive and distinguishable within the source file.
1266
1267 2008-04-21  Tor Lillqvist  <tml@novell.com>
1268
1269         Bug 528752 - Win32 build and SSL not working
1270
1271         This bug report against libsoup points out an issue with the use
1272         of bitfields in the GIOChannel struct that should really be taken
1273         care of here in GLib.
1274
1275         * configure.in: Add Autoconf variable GLIB_EXTRA_CFLAGS which will
1276         contain the -mms-bitfields flag on Windows.
1277         
1278         * glib-2.0.pc.in: Add it to Cflags.
1279
1280 2008-04-21  Tor Lillqvist  <tml@novell.com>
1281
1282         * configure.in
1283         * */Makefile.am: More work on enabling static building on
1284         Windows. When building statically: Also define
1285         GOBJECT_STATIC_COMPILATION in glibconfig.h so that also the
1286         variables in gparamspecs.h get declared without any
1287         dllimport/dllexport decorations. Don't install .def files which
1288         obviously have no meaning for static libraries. Don't create MS
1289         import libraries. Don't do any resource object files.
1290
1291 2008-04-18 17:40:58  Tim Janik  <timj@imendio.com>
1292
1293         * tests/testglib.c: fixed gstdio.h include.
1294
1295         * tests/Makefile.am: properly list testglib.c SOURCES.
1296
1297 2008-04-17  Emmanuele Bassi  <ebassi@gnome.org>
1298
1299         * glib/gchecksum.c:
1300         (sha_byte_reverse): Use the macro GLib provides for byte-swapping
1301         as it can be optimized.
1302         
1303         (g_checksum_update): Fix a compiler warning.
1304
1305 2008-04-15  Mukund Sivaraman  <muks@mukund.org>
1306
1307         * gio/gfile.c: Fixed typos in gtk-doc comments.
1308
1309 2008-04-10  Mathias Hasselmann  <mathias@openismus.com>
1310
1311         Bug 519137 – g_slice_dup macro needs cast for 64-bit platform
1312
1313         * glib/gslice.h (g_slice_copy): Apply type casts needed
1314           for proper compilation on 64-bit platforms.
1315
1316 2008-04-09  Federico Mena Quintero  <federico@novell.com>
1317
1318         * glib/gbookmarkfile.c (bookmark_metadata_free): Don't leak
1319         the apps_by_name hash table if the applications list is empty.
1320
1321 2008-04-08  Behdad Esfahbod  <behdad@gnome.org>
1322
1323         * glib/gunicode.h: Add ISO 15924 code comments for new scripts.
1324
1325 2008-04-07  Matthias Clasen  <mclasen@redhat.com>
1326
1327         Bug 491554 – Update to Unicode 5.1.0
1328
1329         * glib/gunichartables.h:
1330         * glib/gunicode.h:
1331         * glib/gunibreak.h:
1332         * glib/gmirroringtable.h:
1333         * glib/gscripttable.h:
1334         * glib/gen-script-table.pl: Update to Unicode 5.1.0. Patch by
1335         Behdad Esfahbod
1336
1337 2008-04-07  Matthias Clasen  <mclasen@redhat.com>
1338
1339         Bug 526619 – make test-report crash
1340
1341         * glib/gtester.c: Allocate enough space for argv. Patch by
1342          Hiroyuki Ikezoe
1343
1344 2008-04-04  Matthias Clasen  <mclasen@redhat.com>
1345
1346         * glib/gmain.c: Make the fix for bug 448943 work.
1347
1348 2008-04-04  Tor Lillqvist  <tml@novell.com>
1349
1350         * configure.in: Make sure we don't build both shared and static at
1351         the same time on Windows. Put a #define for
1352         GLIB_STATIC_COMPILATION into glibconfig.h in the static case, so
1353         that the use of variables from libglib gets the GLIB_VAR macro in
1354         gtypes.h automatically correct. This means that a shared and
1355         static build of GLib can't be installed in the same prefix on
1356         Windows, which sucks a bit. But with variables in the GLib API,
1357         there isn't much we can do otherwise. The alternative would be to
1358         force the developer who compiles against a statically built GLib
1359         to use -DGLIB_STATIC_COMPILATION.
1360
1361         * glibconfig.h.win32.in: Define GLIB_STATIC_COMPILATION here also,
1362         if needed.
1363
1364 2008-04-03  Tor Lillqvist  <tml@novell.com>
1365
1366         * configure.in: Don't enforce shared library build only on
1367         Windows. It might well make sense to build static libraries in
1368         some use cases.
1369
1370         * glib/gutils.c: Don't compile the DllMain if building libglib
1371         statically. Also in that case don't return NULL from
1372         _glib_get_installation_directory(), but return the installation
1373         directory of the program's .exe file.
1374
1375 2008-04-03  Tor Lillqvist  <tml@novell.com>
1376
1377         Bug 525972 - UCS-4 not in the new win_iconv implementation
1378
1379         * glib/win_iconv.c: Add UCS-4. Also add spelling of UCS-2 without
1380         the hyphen.
1381
1382 2008-04-03  Matthias Clasen  <mclasen@redhat.com>
1383
1384         Bug 448943 – g_timeout_add_seconds() problems
1385
1386         * glib/gmain.c (g_timeout_set_expiration): Prevent expiration
1387         time going negative. Reported by Cody Russell, analyzed by
1388         Olivier Crete, patch by Sjoerd Simons.
1389
1390 2008-04-03  Matthias Clasen  <mclasen@redhat.com>
1391
1392         Bug 525674 – A typo in gmarkup.c
1393
1394         * glib/gmarkup.c (g_markup_parse_context_get_element_stack): Fix
1395         the docs, reported by Hiroyuki Ikezoe
1396
1397 2008-04-03  Matthias Clasen  <mclasen@redhat.com>
1398
1399         Bug 525732 – Error in documentation for g_list_first
1400
1401         * glib/glist.c (g_list_first): Fix the docs, reported by 
1402         Salvatore Iovene
1403
1404 2008-04-02  Tor Lillqvist  <tml@novell.com>
1405
1406         Bug 524314 - g_convert() on Win32 implicitly converts full width
1407         alphanumerics into half width
1408         
1409         * glib/win_iconv.c: Update from Yukihiro Nakadaira. Use
1410         WC_NO_BEST_FIT_CHARS flag for WideCharToMultiByte() unless the
1411         //translit flag was suffixed to the codeset name.
1412
1413         * glib/gconvert.c: Include win_iconv.c earlier so that its
1414         definition of WINVER before it includes <windows.h> is used.
1415
1416 2008-03-31  Tor Lillqvist  <tml@novell.com>
1417
1418         * glib/gmain.c (g_poll): Improve fix for #525192 below: Use
1419         SleepEx() so that the sleep is alertable. Thanks to John
1420         Ehresman.
1421
1422 2008-03-31  Tor Lillqvist  <tml@novell.com>
1423
1424         * glib/gwin32.c
1425         (g_win32_get_package_installation_directory_of_module): Fix Cygwin
1426         breakage. Patch by Lieven van der Heide.
1427
1428 2008-03-31 10:39:17  Tim Janik  <timj@imendio.com>
1429
1430         * glib/gutils.h: reapply inlining fix from r6333 to fix:
1431         Bug 522292 – Gives warnings in glib/gutils.h with GCC in C99 mode
1432         and again:
1433         Bug 315437 – extern inline -> static inline
1434
1435 2008-03-31  Tor Lillqvist  <tml@novell.com>
1436
1437         Bug 525192 - 100% CPU if run main loop with no IO sources
1438
1439         * glib/gmain.c (g_poll) [Win32]: Patch by Neil Roberts.
1440
1441 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1442
1443         * glib/gtester.c: Don't use ARG_MAX.  (#522335, patch by 
1444         Samuel Thibault, adapted by Sebastian Dröge)
1445
1446 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1447
1448         * glib/gmacros.h: Add macros wrapping the gcc alloc_size 
1449         function attribute.  (#523019, Rodrigo Moya)
1450
1451         * glib/gmem.h: 
1452         * glib/gslice.h:
1453         * glib/gstrfuncs.h: Use the new attribute where appropriate.
1454
1455 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1456
1457         * glib/glibintl.h:
1458         * glib/gstrfuncs.c:
1459         * glib/gutils.c: Simple fixes to help building GLib on 
1460         embedded systems without NLS.  (#524350, Peter Kjellerstedt)
1461
1462 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1463
1464         * glib/ghash.c: Fix the build with -DG_DISABLE_ASSERT.
1465         (#525060, Arfrever Frehtes Taifersar Arahesis)
1466
1467 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1468         
1469         * glib/gthread.h: Replace occurrances of G_GNUC_PRETTY_FUNCTION
1470         by G_STRFUNC.  (#524344, Peter Kjellerstedt)
1471
1472 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1473
1474         * glib/gtestutils.c: Fix a doc typo. (#524742, Hiroyuki Ikezoe)
1475
1476 2008-03-22  Claudio Saavedra  <csaavedra@gnome.org>
1477
1478         Bug 523877 – gbookmarkfile: avoid using g_string_append_printf() and
1479         other optimizations
1480
1481         * glib/gbookmarkfile.c: (bookmark_metadata_dump),
1482         (bookmark_item_dump), (g_bookmark_file_dump), (expand_exec_line):
1483         Replace all calls to g_string_append_printf with g_strconcat () or
1484         g_string_append () where appropriate, to reduce the file creation time.
1485         Also, use g_string_sized_new () with an appropriate buffer size instead
1486         of g_string_new (NULL), to reduce time spent in memory reallocation.
1487         (#523877, Claudio Saavedra, Emmanuele Bassi)
1488
1489 2008-03-22  Emmanuele Bassi  <ebassi@gnome.org>
1490
1491         Bug 518160 - replace two g_strdup_printf calls in GBookmarkFile
1492
1493         * glib/gbookmarkfile.c (is_element_full): Compare the fragments
1494         instead of building two strings; this avoids two g_strdup_printf()
1495         per namespaced element enountered. (#518160, Felix Riemann)
1496
1497 2008-03-20  Alexander Larsson  <alexl@redhat.com>
1498
1499         * configure.in:
1500         Final fixes for struct statfs.f_fstypename checks (OpenBSD). (#521045)
1501         Patch from ephraim_owns@hotmail.com
1502
1503 2008-03-19  Tor Lillqvist  <tml@novell.com>
1504
1505         Bug 523298 - win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
1506
1507         * glib/win_iconv.c: Fixes for code page 54936 (GB18030)
1508         (mbtowc_flags): New function. Check if a code page is one of those
1509         for which the dwFlags parameter to MultiByteToWideChar() must be
1510         zero. Return 0 or MB_ERR_INVALID_CHARS.
1511         (mbcs_mblen): New function for multi-byte (more than two bytes for
1512         some characters) code pages. Only handles 54936 for now.
1513         (make_csconv): Use it for 54936.
1514         (kernel_mbtowc): Use mbtowc_flags().
1515
1516 2008-03-18  Sebastian Dröge  <slomo@circular-chaos.org>
1517
1518         Bug 522292 - Gives warnings in glib/gutils.h with GCC in C99 mode
1519
1520         * glib/gutils.h: Use "__attribute__ ((__gnu_inline__))" for inlining
1521         if either __GNUC_STDC_INLINE__ or __GNUC_GNU_INLINE__ are defined. In
1522         gcc version prior to 4.3 no correct C99-inline was implemented which
1523         has semantic differences to GNU inline.
1524
1525 2008-03-16  Tor Lillqvist  <tml@novell.com>
1526
1527         * configure.in: Don't bother defining Autoconf variables for
1528         glib.def, gmodule.def, gobject.def and gthread.def when this can
1529         be handled easily in */Makefile.am which are the only files that
1530         use them. Remove also TESTGMODULE_EXP which isn't used at all.
1531
1532         * glib/Makefile.am: Corrsponding change.
1533         
1534 2008-03-14  Michael Natterer  <mitch@imendio.com>
1535
1536         * glib/*.h: make it possible to disable single-file includes by
1537         defining G_DISABLE_SINGLE_INCLUDES when building against GLib.
1538         Approved by Tim Janik.
1539
1540         * glib/glib.h: include <glib/gslice.h>.
1541
1542         * glib/gi18n.h
1543         * glib/gi18n-lib.h
1544         * glib/gprintf.h: include <glib.h> so the above works when these
1545         files are included without including <glib.h> first.
1546
1547 2008-03-14  Alexander Larsson  <alexl@redhat.com>
1548
1549         * configure.in:
1550         Add required includes for f_fstypename member check.
1551
1552 2008-03-14  Alexander Larsson  <alexl@redhat.com>
1553
1554         * configure.in:
1555         Added checks for FEN (Solaris  File Event Notification)
1556
1557 2008-03-13  Tor Lillqvist  <tml@novell.com>
1558
1559         * glib-zip.in: Add lib/gio-2.0.lib and lib/gio-2.0.def.
1560
1561 2008-03-12  Tor Lillqvist  <tml@novell.com>
1562
1563         * configure.in: Expand gio/win32/Makefile.
1564
1565 2008-03-12  Matthias Clasen <mclasen@redhat.com>
1566
1567         * configure.in: Bump version to 2.17.0
1568
1569         * ChangeLog.pre-2-16: rotate ChangeLog
1570         
1571         * === branch for 2.16 ===