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