Avoid integer overflows in the base64 functions. Fixes CVE-2008-4316
[platform/upstream/glib.git] / ChangeLog
1 2009-03-12  Matthias Clasen  <mclasen@redhat.com>
2
3         * glib/gbase64.c: Avoid integer overflows in the base64
4         functions. Fixes CVE-2008-4316
5
6 2009-03-11  Stef Walter  <stef@memberwebs.com>
7
8         * glib/gchecksum.c: Document and guarantee hex digests will
9         be returned in lower case. Fixes bug #574019
10
11 2009-03-02  Matthias Clasen <mclasen@redhat.com>
12
13         * configure.in: Bump version
14
15 2009-03-02  Matthias Clasen <mclasen@redhat.com>
16
17         * === Released 2.19.10 ===
18
19 2009-03-02  Matthias Clasen <mclasen@redhat.com>
20
21         * configure.in: Bump version
22
23 2009-03-02  Matthias Clasen <mclasen@redhat.com>
24
25         * === Released 2.19.9 ===
26
27 2009-03-02  Matthias Clasen <mclasen@redhat.com>
28
29         * NEWS: Updates
30
31 2009-03-01  Matthias Clasen <mclasen@redhat.com>
32
33         Bug 572508 – gmarkup speedup ...
34
35         * glib/gmarkup.c: Various optimizations: do less allocations by
36         keeping a pool of GStrings, do in-place unescaping, avoid redundant
37         utf-8 validation. Patch by Michael Meeks
38
39         * tests/markups/fail-36.gmarkup: Adapt
40
41 2009-03-01  Matthias Clasen <mclasen@redhat.com>
42
43         * glib/gthread.c: Fix docs.
44
45 2009-03-01  Matthias Clasen <mclasen@redhat.com>
46
47         * tests/slice-threadinit.c: Change one magazine size from 77 to 81
48         to make distcheck work on x86-64.
49
50 2009-02-27  Tor Lillqvist  <tml@novell.com>
51
52         Bug 167569 - g_string_append_printf crashes on win32 when used
53         with a NULL argument
54
55         * glib/gnulib/vasnprintf.c (vasnprintf): Add workaround for buggy
56         programs. Patch by Owen.
57
58 2009-02-23  Paolo Borelli  <pborelli@katamail.com>
59
60         * glib/gutf8.c (_g_utf8_make_valid):
61         sanity check the input paramter. 
62
63 2009-02-23  Tor Lillqvist  <tml@novell.com>
64
65         Bug 570501 - g_win32_get_system_data_dirs uses invalid conversion
66         of function pointer to object pointer
67
68         * glib/gutils.c (g_win32_get_system_data_dirs_for_module): Change
69         the type of the function's parameter to be explicitly a function
70         pointer.
71
72         * glib/gutils.h (_g_win32_get_system_data_dirs): Modify
73         declaration and the only caller, the inline
74         _g_win32_get_system_data_dirs(), accordingly. Add comments
75         pointing out these are internal GLib functions.
76
77 2009-02-22  Matthias Clasen  <mclasen@redhat.com>
78
79         Bug 572151 – “it's” and “its” confused in docs and comments
80
81         * Fix "it's" vs "its" confusion throughout the source. Patch
82         by Will Thompson.
83
84 2009-02-22  Matthias Clasen  <mclasen@redhat.com>
85
86         Bug 572464 – Doc for g_file_get_contents
87
88         * glib/gfileutils.c (g_file_get_contents): Improve docs. Pointed
89         out by Øystein Johansen.
90
91 2009-02-22  Matthias Clasen  <mclasen@redhat.com>
92
93         Bug 572672 – glib/gthread.c: argument is different type
94
95         * glib/gthread.c (g_once_init_leave): Add a necessary cast back.
96         Pointed out by Kazuki Iwamoto.
97
98 2009-02-17  Matthias Clasen  <mclasen@redhat.com>
99
100         * configure.in: Bump version
101
102 2009-02-17  Matthias Clasen  <mclasen@redhat.com>
103
104         * === Released 2.19.8 ===
105
106 2009-02-17  Matthias Clasen  <mclasen@redhat.com>
107
108         Fix strict aliasing warnings and viiolations to make GLib and
109         GLib users buildable with gcc 4.4. Patch by Jakub Jelinek.
110
111         * glib/gatomic.[hc]: Add G_GNUC_MAY_ALIAS to pointer arguments,
112         fix macro versions to only operate on objects of the same size.
113
114         * glib/gdataset.c:
115         * glib/gthread.[hc]:
116         * glib/gdatasetprivate.h: Remove unnecessary casts in 
117         g_atomic_pointer_get calls.
118         
119 2009-02-16  Matthias Clasen  <mclasen@redhat.com>
120
121         * configure.in: Bump version
122
123 2009-02-16  Matthias Clasen  <mclasen@redhat.com>
124
125         * === Released 2.19.7 ===
126
127 2009-02-16  Matthias Clasen  <mclasen@redhat.com>
128
129         * NEWS: Updates
130
131 2009-02-13  Mathias Hasselmann  <hasselmm@gnome.org>
132
133         Add note about g_utf8_offset_to_pointer() not checking string
134         boundaries.
135
136         * glib/gutf8.c (g_utf8_offset_to_pointer()): See summary.
137
138 2999-02-11  Matthias Clasen  <mclasen@redhat.com>
139
140         Bug 523742 – Use noinst for non-installable libraries
141
142         * tests/Makefile.am: use noninst_LTLIBRARIES for noninstalled 
143         libraries.Patch by Björn Lindqvist
144
145 2009-02-06  Murray Cumming  <murrayc@murrayc.com>
146
147         * gio/gfilterinputstream.c:
148         * gio/gfilteroutputstream.c: Correct the grammar in some property 
149         documentation.
150         * gio/gdatainputstream.c:
151         * glib/gregex.c: Correct the spelling of 
152         occurrence in documentation.
153
154 2009-02-02  Matthias Clasen  <mclasen@redhat.com>
155
156         * configure.in: Bump version
157
158 2009-02-02  Matthias Clasen  <mclasen@redhat.com>
159
160         * === Released 2.19.6 ===
161
162 2009-02-02  Matthias Clasen  <mclasen@redhat.com>
163
164         * configure.in: Bump version
165
166 2009-01-31  Matthias Clasen  <mclasen@redhat.com>
167
168         * NEWS: Updates
169
170 2009-01-31  Matthias Clasen  <mclasen@redhat.com>
171
172         Bug 569105 – g_time_val_to_iso8601() assumes time_t==long
173
174         * glib/gtimer.c (g_time_val_to_iso8601): Pass a time_t* to gmtime().
175         Pointed out by Matthias Drochner.
176
177 2009-01-27  Christian Persch  <chpe@gnome.org>
178
179         * configure.in:
180         * docs/reference/glib/glib-sections.txt:
181         * docs/reference/macros_misc.sgml:
182         * docs/reference/glib/tmpl/types.sgml: Add
183         G_GOFFSET_FORMAT and friends. Bug #563141.
184
185 2009-01-23  Stefan Kost  <ensonic@users.sf.net>
186
187         * docs/reference/glib/Makefile.am:
188           Add SCAN_OPTIONS=--ignore-decorators="GLIB_VAR" to Makefile.am to fix
189           on problem with the doc build.
190
191 2009-01-21  Tor Lillqvist  <tml@novell.com>
192
193         * glib/gwin32.c (g_win32_locale_filename_from_utf8): Drop the code
194         in the else branch of #if GLIB_CHECK_VERSION (2, 19, 0). Drop
195         unused variables.
196
197 2009-01-20  Matthias Clasen  <mclasen@redhat.com>
198
199         Bug 568294 – A wrong reference in the description of 
200         g_bookmark_file_add_application()
201
202         * glib/gbookmarkfile.c (g_bookmark_file_add_application):
203         Fix a typo in the docs. Pointed out by Takeshi Aihana
204
205 2009-01-19  Matthias Clasen  <mclasen@redhat.com>
206
207         * === Released 2.19.5 ===
208
209 2009-01-18  Matthias Clasen  <mclasen@redhat.com>
210
211         * glib/gstrfuncs.c (g_strdup_printf): Fix a doc typo.
212
213 2009-01-18  Matthias Clasen  <mclasen@redhat.com>
214
215         * NEWS: Updates
216
217 2009-01-18  Matthias Clasen  <mclasen@redhat.com>
218
219         Bug 512779 – --disable-regex breaks compilation
220         
221         * configure.in: Define an ENABLE_REGEX macro
222
223         * gobject/gboxed.c: Don't refer to g_regex_ref if ENABLE_REGEX
224         is not defined.
225
226 2009-01-18  Matthias Clasen  <mclasen@redhat.com>
227
228         * glib/gbsearcharray.h: Quell some compiler warnings.
229
230 2009-01-18  Matthias Clasen  <mclasen@redhat.com>
231
232         * glib/pcre: Update to PCRE 7.8
233
234 2009-01-17  Matthias Clasen  <mclasen@redhat.com>
235
236         Bug 567977 – textdomain() macro should not return NULL when 
237         ENABLE_NLS is not set
238
239         * glib/glibintl.h: If !ENABLE_NLS, make textomain() macro 
240         return "messages" in case of a NULL argument. Patch by
241         Peter Kjellerstedt.
242
243 2009-01-17  Matthias Clasen  <mclasen@redhat.com>
244
245         Bug 567838 – G_STRUCT_OFFSETOF fails to compile under icc 9.1
246
247         * glib/gmacros.h (G_STRUCT_OFFSETOF): Use offsetof instead of 
248         __builtin_offsetof, for icc's sake. Proposed by Hrvoje Niksic.
249
250 2009-01-13  Matthias Clasen  <mclasen@redhat.com>
251
252         Bug 564728 Add function to decode base64 encoded data in place
253
254         * glib/glib.symbols:
255         * glib/gbase64.[hc] (g_base64_decode_inplace): New convenience
256         API to decode in place, overwriting the input string. Patch by
257         Sebastian Dröge.
258
259 2009-01-12  Matthias Clasen  <mclasen@redhat.com>
260         
261         * glib/gtestutils.c (g_strcmp0): Be more explicit about the NULL
262         handling in the docs.
263
264 2009-01-12  Tor Lillqvist  <tml@novell.com>
265
266         * glib/goption.c (parse_arg): Guard against a mis-written
267         GOptionArgFunc that has returned FALSE but not set the GError.
268
269 2009-01-10  Matthias Clasen  <mclasen@redhat.com>
270
271         Bug 566573 – g_match_info_fetch_pos docs
272
273         * glib/gregex.c: Mention that positions are in bytes. 
274         Proposed by Christian Persch.
275
276 2009-01-10  Matthias Clasen  <mclasen@redhat.com>
277
278         Bug 566569 – gregex docs clarification
279
280         * glib/gregex.c: Copy the warning about @string to all
281         relevant docs. Proposed by Christian Persch
282
283 2009-01-09  Tor Lillqvist  <tml@iki.fi>
284
285         Bug 567138 - get_package_directory_from_module() does not free its
286         lock when failing
287
288         * glib/gwin32.c (get_package_directory_from_module): Obvious fix.
289
290 2009-01-05  Matthias Clasen  <mclasen@redhat.com>
291
292         * configure.in: Bump version
293
294 2009-01-05  Matthias Clasen  <mclasen@redhat.com>
295
296         * === Released 2.19.4 ===
297
298         * NEWS: Updates
299
300 2009-01-05  Dan Winship  <danw@gnome.org>
301
302         * glib/tests/.gitignore: update
303
304         * tests/.gitignore: update, sort
305
306         * tests/gobject/.gitignore: add
307
308 2009-01-05  Tor Lillqvist  <tml@iki.fi>
309
310         Bug 566348 - g_file_open_tmp uses the wrong g_mkstemp on win32
311
312         * glib/gfileutils.c: Move the binary compatibility versions of
313         g_file_test(), g_file_get_contents(), g_mkstemp() and
314         g_file_open_tmp() last in the file. Remove the restriction that
315         the XXXXXX is last in the template in the binary compatibility
316         version of g_mkstemp(). Thanks to Morten Welinder and Jody
317         Goldberg.
318
319 2009-01-03  Matthias Clasen  <mclasen@redhat.com>
320
321         * NEWS: Updates
322
323 2009-01-02  Matthias Clasen  <mclasen@redhat.com>
324
325         * glib/gregex.c: Add an example to the g_regex_replace_eval() docs.
326
327 2009-01-02  Matthias Clasen  <mclasen@redhat.com>
328
329         * glib/gstrfuncs.c: Move docs inline, adding references to g_free()
330         where appropriate.
331
332 2009-01-02  Matthias Clasen  <mclasen@redhat.com>
333
334         Bug 564210 – SUN Studio 12 has supported visibility attribute
335
336         * configure.in: Use visibility attribute for new enough sun cc.
337         Patch by Chris Wang
338
339 2008-12-30  Matthias Clasen  <mclasen@redhat.com>
340
341         Bug 565905 – There is no named g_context_group_set_translation_domain()
342         in GOption command line parser
343
344         * glib/goption.c: Fix a wrong reference in the docs, reported by
345         Takeshi Aihana.
346
347 2008-12-30  Matthias Clasen  <mclasen@redhat.com>
348
349         * glib/gspawn.c:
350         * glib/gthread.c:
351         * glib/goption.c:
352         * glib/gmain.c:
353         * glib/gkeyfile.c:
354         * glib/gfileutils.c:
355         * glib/gdate.c:
356         * glib/garray.c:
357         * glib/gbookmarkfile.c:
358         * glib/gbacktrace.c: Fix some compiler warnings.
359
360 2008-12-19  Tor Lillqvist  <tml@novell.com>
361
362         * glib/glib.symbols: Add g_thread_get_initialized here,
363         too. Surround g_test_config_vars with ifdef INCLUDE_VARIABLES.
364
365 2008-12-18  Mike Kestner <mkestner@novell.com>
366
367         Bug 560676 - function access for g_threads_supported
368
369         * glib/gthreads.c (g_thread_get_initialized): new accessor for
370         g_threads_supported macro.
371         * glib/gthreads.h: add g_thread_get_initialized
372
373 2008-12-15  Matthias Clasen <mclasen@redhat.com>
374
375         * configure.in: Bump version
376
377         * === Released 2.19.3 ===
378
379 2008-12-13  Matthias Clasen <mclasen@redhat.com>
380
381         * NEWS: Updates
382
383 2008-12-12  Dan Winship  <danw@gnome.org>
384
385         * glib/pltcheck.sh: make this work on x86_64
386
387 2008-12-12  Behdad Esfahbod  <behdad@gnome.org>
388
389         * glib/guniprop.c: Improve g_unichar_iswide_cjk() docs.
390
391 2008-12-07  Matthias Clasen  <mclasen@redhat.com>
392
393         Bug 508021 – Add support for the CRIS and CRISv32 architectures
394
395         * configure.in: 
396         * glib/gatomic.c: Add an implementation for the CRIS and CRISv32 
397         architectures, by Peter Kjellerstedt
398
399 2008-12-02  Matthias Clasen  <mclasen@redhat.com>
400
401         * glib/gkeyfile.c: Some more documentation additions.
402
403 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
404
405         * configure.in: Bump version
406
407 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
408
409         * === Released 2.19.2 ===
410
411 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
412
413         * configure.in: Bump version
414
415 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
416
417         * === Released 2.19.1 ===
418
419         * NEWS: Updates
420
421 2008-11-28  Behdad Esfahbod  <behdad@gnome.org>
422
423         Bug 562639 – g_parse_debug_flags() parsing "help"
424
425         * glib/gutils.c (g_parse_debug_string): Print available keys if
426         string is "help".
427
428 2008-11-28  Behdad Esfahbod  <behdad@gnome.org>
429
430         Bug 562638 – GDebugKey key member should be const
431
432         * glib/gutils.h: Change GDebugKey key member from gchar * to
433         const gchar *.
434
435 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
436
437         Bug 547264 – Missing "no flags" flag
438
439         * glib/gregex.c: Mention 0 as value for 'no flags' in some places..
440         Pointed out by Bastien Nocera
441
442 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
443
444         Bug 562544 – g_key_file_get_string and g_key_file_get_value
445         documentation does not explain the difference
446
447         * glib/gkeyfile.c (g_key_file_get_string): Explain the difference
448         to g_key_file_get_value(). Pointed out by Mart Raudsepp.
449
450 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
451
452         * glib/gkeyfile.c: Refer to @locale parameters as locale identifier
453         in docs.
454
455 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
456
457         Bug 557603 – carbon check output misplaced
458
459         * configure.in: Call AC_PROG_CPP early to avoid it messing up
460         carbon check output. Fix proposed by Christian Persch
461
462 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
463
464         Bug 559110 – Do not include libintl.h after glibintl.h
465
466         * glib/glibintl.h: Define bind_textdomain_codeset in the DISABLE_NLS
467         branch. Patch by Peter Kjellerstedt.
468
469         * glib/gutil.c: Don't include libintl.h directly.
470
471 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
472
473         Bug 562378 – callback return value not respected for callback option
474         with no arg
475
476         * glib/goption.c (parse_long_option): Return the parse_arg return
477         value even for no-arg callbacks. Patch by Christian Persch
478
479         * glib/tests/option-context.c: Add a test for a callback which
480         returns FALSE.
481
482 2008-11-23  Christian Persch  <chpe@gnome.org>
483
484         Bug 559413 – g_option_group_set_error_hook docs buglet
485
486         * glib/goption.c: Doc fix.
487
488 2008-11-23  Christian Persch  <chpe@gnome.org>
489
490         Bug 560568 – gkeyfile docs buglet
491
492         * glib/gkeyfile.c: Clarify the docs.
493
494 2008-11-23  Christian Persch  <chpe@gnome.org>
495
496         Bug 560569 – gkeyfile doesn't use the set list_separator in some cases
497
498         * glib/gkeyfile.c: (g_key_file_get_locale_string_list),
499         (g_key_file_set_locale_string_list), (g_key_file_set_integer_list),
500         (g_key_file_set_double_list): Use the key file's list separator character,
501         not the default one.
502
503         * glib/tests/keyfile.c: (test_lists), (test_reload_idempotency): Test
504         this.
505
506 2008-11-21  Christophe Fergeau <teuf@gnome.org>
507
508         Bug 561212 – GFileReadMoreCallback API doc refers to non-existant function
509
510         * gio/giotypes.h: fix name of function referred to in
511         GFileReadMoreCallback API documentation
512
513 2008-11-21  Matthias Clasen <mclasen@redhat.com>
514
515         * configure.in: Bump gtk-doc dependency to 1.11 for
516         nicer index-generation.
517
518 2008-11-14  Matthias Clasen <mclasen@redhat.com>
519
520         * NEWS: Updates
521
522 2008-11-04  Christian Dywan  <christian@imendio.com>
523
524         Bug 558672 – NULL key lookup using g_hash_table_lookup_extended()
525
526         * glib/ghash.c:
527         Clarify g_hash_table_lookup_extended
528
529 2008-11-02  Tor Lillqvist  <tml@novell.com>
530
531         * configure.in: Expand also build/win32/vs9/Makefile.
532
533 2008-10-31  Christian Dywan  <christian@imendio.com>
534
535         Bug 558513 – g_warn_if_fail FIXME in gtestutils
536
537         * glib/gtestutils.c (g_test_log_send):
538         Turn g_assert into g_warn_if_fail as advised
539
540 2008-10-31  Grahame Bowland  <grahame@angrygoats.net>
541
542         Bug 558185 – 'parent' variable in g_local_file_get_child_for_display_name() 
543         hits g_object_unref(NULL) assertion
544
545         * gio/glocalfile.c: 
546         - remove unused variable. Patch by Matt Johnston <matt@ucc.asn.au>
547
548 2008-10-29 16:11:14  Tim Janik  <timj@gtk.org>
549
550         * glib/gmacros.h: added G_PASTE() and G_STATIC_ASSERT(), based on
551         patches by Christian Persch and Christian Dywan. Fixes:
552         Bug 558381 - Add support for compile time assertions
553
554 2008-10-27  Joseph Pingenot  <gnomesvn@digitasaru.net>
555
556         * glib/ghash.c: changed "#GHashTableIterator" to "#GHashTableIter"
557         in the documentation-comments above g_hash_table_foreach_remove()
558         and g_hash_table_foreach_steal() to correctly name and link to
559         GHashTableIter.  This affects the GNOME documentation website
560         as well, so further steps are likely necessary beyond this subproject..
561
562 2008-10-23 Matthias Clasen <mclasen@redhat.com>
563
564         Bug 557210 – g_compute_checksum_for_* asserts with less than 2 bytes
565
566         * glib/gchecksum.c (g_compute_checksum_for_data): Accept 
567         lengths < 2. Patch by Tommi Komulainen
568
569         * tests/checksum-test.c: Add a test for this
570
571 2008-10-23 Matthias Clasen <mclasen@redhat.com>
572
573         Bug 556921 – gpoll.h breaks hal compilation
574
575         * glib/gpoll.h: Include gtypes.h. Pointed out by Anis Elleuch
576
577 2008-10-20 Christian Persch <chpe@gnome.org>
578
579         Bug 557087 – mem leak in g_content_types_get_registered
580                 
581         * gio/gcontenttype.c: Plug a mem leak.
582
583 2008-10-19  Michael Natterer  <mitch@imendio.com>
584
585         Bug 556186 – gpoll.h breaks gmain.h inclusion
586
587         * glib/gpoll.h: different fix: disallow direct inclusion
588         unconditionally again but make an exception if included from
589         gmain.h to maintain compatibility.
590
591 2008-10-16  Matthias Clasen <mclasen@redhat.com>
592
593         * configure.in: Bump version to 2.19.1
594
595         * === Released 2.19.0 ===
596
597         * NEWS: Updates
598
599 2008-10-14  Christian Persch <chpe@gnome.org>
600
601         Bug 556186 – gpoll.h breaks gmain.h inclusion
602
603         * glib/gpoll.h: Only disallow direct inclusion when
604         G_DISABLE_SINGLE_INCLUDES is defined.
605
606 2008-10-13  Sven Herzberg  <sven@imendio.com>
607
608         Bug 556101 – static mutex yields warnings with g++
609         Reviewed by Tim Janik
610
611         * configure.in: added an intermediate cast to gpointer
612
613 2008-10-13  Christian Persch <chpe@gnome.org>
614
615         Bug 555311 – format not a string literal and no format arguments
616
617         * glib/gmarkup.c:
618         * glib/gshell.c: Use literal errors where appropriate.
619
620 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
621
622         Bug 551355 – [PATCH] Make glib build with libtool 2.2
623
624         * autogen.sh: Accept libtool 2.2.   We are moving towards having
625         it working.
626
627 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
628
629         * configure.in: With libtool 2.x, regenerate libtool early.
630         Based on bug 552107, patch by Patryk Zawadzki
631
632 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
633
634         Bug 554557 – Patch to fix gcc warnings about missing format 
635         specifiers
636
637         * glib/gmarkup.c:
638         * glib/gshell.c:
639         * glib/grel.c: Fix gcc warnings. Patch by Kjartan Maraas
640
641 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
642
643         Bug 552861 – glib-2.0.m4 calls system(3) without storing its result
644
645         * m4macros/glib-2.0.m4: Cosmetic change to make -Werror happy.
646         Patch by Andreas Köhler
647
648 2008-10-08  Christian Persch  <chpe@gnome.org>
649
650         Bug 555313 – GFileAttribute boxed type get_type function should
651         use usual get_type pattern
652
653         * gio/gfileattribute.c (g_file_attribute_info_list_get_type): Use
654         g_once_init_enter/leave.
655
656 2008-10-08  Christian Persch  <chpe@gnome.org>
657
658         Bug 555314 – mem leak in gmarkup
659
660         * glib/gmarkup.c: (g_markup_parse_context_parse): Plug a mem leak.
661
662 2008-10-08  Tor Lillqvist  <tml@novell.com>
663
664         Bug 554790 - g_convert() misbehaves with winiconv versions
665
666         * glib/win_iconv.c (kernel_mbtowc): If converting from ASCII,
667         explicitly check for and reject 8bit chars. MultiByteToWideChar()
668         doesn't, at least not on XP.
669
670 2008-10-06  Matthias Clasen  <mclasen@redhat.com>
671
672         * glib/gtypes.h: Properly include gmacros.h
673
674 2008-10-06  Behdad Esfahbod  <behdad@gnome.org>
675
676         Bug 555309 – giochannel breaks on error
677         Patch from Christian Persch
678
679         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
680         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags):
681         Don't shadow err.  Oops!
682
683 2008-10-06  Christophe Fergeau  <teuf@gnome.org>
684
685         Bug 555224 – Improve g_format_size_for_display doc
686         
687         * glib/gfileutils.c: change g_format_size_for_display API doc to
688         explicitly say that the returned string has to be freed. Change
689         spelling of "newly allocated" to "newly-allocated" in g_file_read_link
690         API doc to be more consistent with what is done in that file.
691
692 2008-10-01  David Zeuthen  <davidz@redhat.com>
693
694         * README.in: Add "Notes about glib 2.20" section detailing the
695         ramifications of the patch from bug #528670.
696
697 2008-09-30  Behdad Esfahbod  <behdad@gnome.org>
698
699         Bug 554092 – glib doesn't return G_FILE_ERROR_NOENT et al on OS X
700
701         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
702         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags),
703         (g_io_unix_get_flags), (g_io_channel_new_file):
704         Like mclasen says: "well, thats the way errno works...,
705         save it or loose it".  Save errno.
706
707 2008-09-30  Tor Lillqvist  <tml@novell.com>
708
709         * Makefile.decl
710         * glib/tests/Makefile.am: Bypass gtester related stuff on Windows.
711
712 2008-09-30  Tor Lillqvist  <tml@novell.com>
713
714         * glib/gprintf.c
715         * glib/gnulib/vasnprintf.c: Don't define _GNU_SOURCE on Windows,
716         as _GNU_SOURCE has unintended side effects when compiling against
717         newest mingw headers.
718
719 2008-09-26  Dan Winship  <danw@gnome.org>
720
721         Bug 553447 – g_assert_no_error()
722
723         * glib/gtestutils.h (g_assert_no_error, g_assert_error): Macros to
724         assert that a GError is not set, or else is set to a particular
725         error.
726
727         * glib/gtestutils.c (g_assertion_message_error): utility for
728         those macros
729
730         * glib/tests/keyfile.c:
731         * tests/asyncqueue-test.c:
732         * tests/bookmarkfile-test.c:
733         * tests/convert-test.c:
734         * tests/file-test.c: Use g_assert_error/g_assert_no_error
735
736 2008-09-26  Dan Winship  <danw@gnome.org>
737
738         * glib/gthreadpool.c (wakeup_thread_marker): make this a "const
739         gpointer" rather than a gconstpointer to avoid warnings later
740
741         * glib/pcre/pcre_ucp_searchfuncs.c:
742         * glib/pcre/pcre_valid_utf8.c: #include "config.h"
743
744         * glib/tests/printf.c (test_d): fool gcc into not warning about
745         some printf format strings that we know are dubious
746
747 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
748
749         Bug 553857 – gbacktrace.h requires signal.h
750
751         * glib/gbacktrace.h: Include signal.h for raise(). 
752         Pointed out by Sebastien Bacher
753
754 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
755
756         Bug 553724 – python interpretter path not patched in correctly
757
758         * glib/Makefile.am: Fix the sed magic to replace python.
759
760 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
761
762         * glib/gmain.c: Add some more docs.
763
764         * glib/giochannel.c: Move more docs inline, and improve them
765         on the way.
766
767 2008-09-25  Tor Lillqvist  <tml@novell.com>
768
769         Bug 553820 - gpoll.c: undeclared identifier
770
771         * glib/gmain.c
772         * glib/gpoll.c: Make the g_poll() function non-static also on
773         Windows. Prefix an underscore to the g_main_poll_debug variable
774         and make it non-static in gmain.c so that it can be used in
775         gpoll.c. Add back missing variable declaration.
776
777 2008-09-25  Tor Lillqvist  <tml@novell.com>
778
779         * glib/gspawn-win32.c (do_spawn_with_pipes) (do_spawn_directly):
780         Just ignore the child_setup function, never call it. The is no
781         situation in which it could be useful on Windows. Do print a
782         warning, like before.
783
784         * glib/gspawn.c (g_spawn_async_with_pipes): Corresponding change
785         in documentation.
786
787 2008-09-24  Sven Herzberg  <sven@imendio.com>
788
789         Be a little more explcit in the docs. Includes Owen's requested
790         changes.
791
792         * glib/gmain.c: improved documentation for g_source_attach() and
793         g_source_destroy()
794
795 2008-09-23  Michael Natterer  <mitch@imendio.com>
796
797         * glib/glib.h: #include <glib/gpoll.h>
798
799         * glib/gpoll.h: #error out if gpoll.h is included directly.
800
801         * glib/gpoll.c: remove trailing whitespace.
802
803 2008-09-23  Dan Winship  <danw@gnome.org>
804
805         * glib/gpoll.[ch] (g_poll): Move this out of gmain.c and make it part
806         of the public API. (Part of Bug 505361 - gunixinputstream.c assumes
807         poll() available.)
808
809 2008-09-23  Tor Lillqvist  <tml@novell.com>
810
811         * glib/gmain.c (poll_rest) [Win32]: Fix embarrassing bug: I was
812         passing an incorrect third parameter to memmove(), had forgotten
813         to multiply by the size of the table entry. Just use a for loop
814         instead, clearer. Odd I didn't notice when testing this code.
815
816 2008-09-19  Hans Petter Jansson  <hpj@novell.com>
817
818         Rewrite most of GHashTable to use open addressing with quadratic
819         probing instead of chaining. This has the potential to reduce memory
820         fragmentation significantly, while being slightly faster due to
821         better locality and no need to call alloc/free functions for nodes.
822         Benchmarks suggest it also uses less memory overall.
823
824         * glib/ghash.c (prime_mod): Table of suitable primes for
825         initial-probe distribution.
826         (g_hash_table_set_shift): New function.
827         (g_hash_table_find_closest_shift): New function.
828         (g_hash_table_set_shift_from_size): New function.
829         (g_hash_table_lookup_node_for_insertion): New function.
830         (g_hash_table_lookup_node): Rewritten to return node index instead of
831         pointer, use quadratic probe on flat table, and not return insertion
832         data. The latter saves some computation for read-only lookups.
833         (g_hash_table_remove_node): Rewrite to take a pointer directly to the
834         node structure to remove, and clear that. Remove unlinking code.
835         (g_hash_table_remove_all_nodes): Rewrite to not clear nodes
836         individually, but en masse using memset () after potentially calling
837         notify functions.
838         (iter_remove_or_steal): Use new data structure and algorithm. Vastly
839         simplified - now just a call to g_hash_table_remove_node ().
840         (g_hash_table_resize): New resize code, re-indexing with new prime
841         and cleaning up tombstones.
842         (g_hash_table_maybe_resize): Table may hold 8 buckets minimum, no less
843         than 1/4 load excluding tombstones, and no more than 15/16 load
844         including tombstones. These numbers are the results of a lot of
845         benchmarking with multiple complex applications, and should not be
846         changed lightly.
847         (g_hash_table_iter_next)
848         (g_hash_table_lookup)
849         (g_hash_table_lookup_extended)
850         (g_hash_table_insert_internal)
851         (g_hash_table_remove_internal)
852         (g_hash_table_foreach_remove_or_steal)
853         (g_hash_table_foreach)
854         (g_hash_table_find)
855         (g_hash_table_get_keys)
856         (g_hash_table_get_values): Use new data structure and algorithm,
857         fairly trivial changes.
858
859 2008-09-19  Tor Lillqvist  <tml@novell.com>
860
861         * glib-zip.in: Look for man pages in share/man.
862
863         * glib/gutils.c (_glib_get_dll_directory)
864         * glib/gspawn-win32.c (do_spawn_with_pipes): Be a bit less
865         restrictive, look for the helper programs in the same folder where
866         the GLib DLL is, not necessarily in a "bin" subfolder of the top
867         GLib installation folder.
868
869 2008-09-18  Matthias Clasen <mclasen@redhat.com>
870
871         * configure.in: Bump version to 2.19.0
872
873         * ChangeLog.pre-2-18: rotate ChangeLog
874         
875         * === branch for 2.18 ===