Use "localhost" as fallback for g_get_host_name(), not "unknown".
[platform/upstream/glib.git] / ChangeLog.pre-2-8
1 2005-08-11  Tor Lillqvist  <tml@novell.com>
2
3         * glib/gutils.c (g_get_any_init): Use "localhost" as fallback for
4         g_get_host_name(), not "unknown".
5
6 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
7
8         Fix typos: Invokation --> Invocation (in various places)
9
10 2005-08-10  Matthias Clasen  <mclasen@redhat.com>
11
12         * glib/gfileutils.c (g_build_path_va, g_build_pathname_va):
13         Take a va_list*, not a va_list, to avoid compiler warnings
14         about uninitialized variables.
15
16 2005-08-09  Matthias Clasen  <mclasen@redhat.com>
17
18         * tests/gobject/Makefile.am (test_programs): Add it here.
19
20         * tests/gobject/gvalue-test.c: Beginning of a test suite
21         for GValue.
22
23         * NEWS: Updates
24
25 2005-08-08  Matthias Clasen  <mclasen@redhat.com>
26
27         * glib/gutils.c (_g_compute_locale_variants): Initialize
28         variables to not make gcc nervous.
29
30 2005-08-08  Manish Singh  <yosh@gimp.org>
31
32         * glib/abicheck.sh: remove stray -V option to grep so it actually
33         works.
34
35 2005-08-08  Matthias Clasen  <mclasen@redhat.com>
36
37         * tests/convert-test.c: Enable the endianness test.
38
39         * glib/gconvert.c: Make the caching of iconv descriptors
40         optional.
41
42         * configure.in: Add an --enable-iconv-cache option, and
43         default to disabling iconv caching on new enough glibc.
44         Somebody with access to Solaris systems will need to test
45         if opening/closing of iconv descriptors is enough of
46         a performance problem to warrant the caching on that 
47         platform. Note that the caching is causing correctness
48         problems in some corner cases, thus turning it off
49         is desirable unless it has severe performance implications.
50
51         * tests/convert-test.c: Add a test for 
52         endianness handling.
53
54 2005-08-08  Sunil Mohan Adapa  <sunil@atc.tcs.co.in>
55
56         * configure.in: Added "te" to ALL_LINGUAS.
57
58 2005-08-08  Matthias Clasen  <mclasen@redhat.com>
59
60         * tests/Makefile.am: Add convert-test here.
61
62         * tests/convert-test.c: Add the beginning of a testsuite
63         for g_convert() and friends. 
64
65 2005-08-06  Matthias Clasen  <mclasen@redhat.com>
66
67         * glib/glib.symbols: Include glib_on_error_halt.
68         
69         * glib/abicheck.sh: Also check exported variables.
70
71 2005-08-05  Manish Singh  <yosh@gimp.org>
72
73         * tests/refcount/closures.c: remove unused n_threads variable.
74
75 2005-08-05  Matthias Clasen  <mclasen@redhat.com>
76
77         * configure.in: Bump version
78
79         * === Released 2.7.7 ===
80
81         * NEWS: Updates
82
83 2005-08-04  Matthias Clasen  <mclasen@redhat.com>
84
85         * glib/glib.symbols:
86         * glib/gatomic.[hc]: Always export g_atomic_int_get and
87         g_atomic_pointer_get as functions, even if we have macros,
88         to avoid changing the ABI depending on configuration.
89         
90         * glib/gatomic.c: Fix the s390 implementations of 
91         g_atomic_pointer_compare_and_exchange.
92
93 2005-08-04  Tor Lillqvist  <tml@novell.com>
94
95         * glib/gstdio.h: Move the G_BEGIN_DECLS/G_END_DECLS pair outside
96         the #if/#else/#endif block. Otherwise we had G_BEGIN_DECLS without
97         matching G_END_DECLS on Unix, and G_END_DECLS without matching
98         G_BEGIN_DECLS on Win32.
99
100 2005-08-03  Matthias Clasen  <mclasen@redhat.com>
101
102         * configure.in: Bump version
103
104         * === Released 2.7.6 ===
105
106         * NEWS: Updates
107
108 2005-08-03  Ross Burton  <ross@burtonini.com>
109
110         * docs/reference/glib/tmpl/windows.sgml:
111         Add a long description, pointing people at Cygwin for a complete
112         Unix library.
113
114         * glib/gutils.c:
115         Document return value of g_get_host_name().
116
117 2005-08-03  Matthias Clasen  <mclasen@redhat.com>
118
119         * glib/gatomic.c: Add native atomic operations
120         for s390.
121
122         * configure.in: ... and use them on s390.
123
124 2005-08-03  Ross Burton  <ross@burtonini.com>
125
126         * glib/gstdio.c:
127         Fix DocBook tag typo. (#311966)
128
129 2005-08-03  Matthias Clasen  <mclasen@redhat.com>
130
131         * glib/gstdio.h: Add G_BEGIN_DECLS/G_END_DECLS.  (#312424)
132
133 2005-08-02  Matthias Clasen  <mclasen@redhat.com>
134
135         * glib/gconvert.c (g_convert_with_iconv): Don't go in an
136         infinite loop if the input text ends in an incomplete multibyte
137         character.  (#312402, Sebastien Bacher)
138
139         * Bump version
140
141         * === Released 2.7.5 ===
142
143         * NEWS: Updates
144
145 2005-08-02  Matthias Clasen  <mclasen@redhat.com>
146
147         * glib/gconvert.c (g_convert_with_iconv, g_convert_with_fallback):
148         Cleanup converter state after the conversion. Document streaming
149         conversion pitfalls.  (#311337)
150
151 2005-08-02  Tor Lillqvist  <tml@novell.com>
152
153         * tests/refcount/objects.c 
154         * tests/refcount/properties.c 
155         * tests/refcount/signals.c: Use g_usleep() instead of sleep() for
156         portability.
157
158 Mon Aug  1 23:33:47 2005  Tim Janik  <timj@imendio.com>
159
160         * tests/refcount/closures.c: test high contention on closure
161         reference counts to trigger and catch non-atomic updates.
162
163         * tests/refcount/objects.c:
164         * tests/refcount/objects2.c: 
165         * tests/refcount/properties.c: 
166         * tests/refcount/properties2.c: 
167         * tests/refcount/signals.c:
168         fixed up test and threading fundamentals. variables accessed from all 
169         threads need to be volatile. context switches are enforced by using
170         g_thread_yield(), not g_usleep(1) which may result in busy waits on 
171         some platforms. for testcode, always consider all warnings and
172         critical messages fatal. issue the currently running program on
173         stdout. improved progress indicators.
174
175         * tests/refcount/properties.c:
176         * tests/refcount/objects.c:
177         don't overdo the number of testing threads to keep the testing machine
178         usable, 2 threads can produce as much contention as 20 if executing the
179         same code.
180
181         * tests/refcount/signals.c: only start 1 thread per object. GObject 
182         doesn't provide mutually exclusive object access, but only mutually
183         exclusive reference count modification.
184
185         * tests/Makefile.am: added closures test.
186
187 2005-08-01  Tor Lillqvist  <tml@novell.com>
188
189         * tests/uri-test.c: Make it pass on Win32.
190         (from_uri_tests[]): Take into consideration that on Win32 we don't
191         return "localhost" hostnames.
192         (safe_strcmp_filename): New function that considers slash and
193         backslash equal on Win32.
194         (safe_strcmp_hostname): New function that considers "localhost"
195         equal NULL on Win32.
196         (run_roundtrip_tests): Use safe_strcmp_filename() and
197         safe_strcmp_hostname().
198
199 Sun Jul 31 01:50:20 2005  Tim Janik  <timj@gtk.org>
200
201         * glib/gdataset.c:
202         moved G_DATALIST_*_POINTER() macros here, because proper use requires
203         the global g_dataset_global mutex to be acquired.
204         g_datalist_id_get_data():
205         g_datalist_unset_flags():
206         g_datalist_set_flags(): properly acquire and release dataset mutex.
207
208         * glib/gdatasetprivate.h: implement G_DATALIST_GET_FLAGS() via atomic
209         pointer access to account for memory barriers. moved all other macros.
210
211 2005-07-26  Matthias Clasen  <mclasen@redhat.com>
212
213         * glib/goption.c: Include glibintl.h, not gi18n.h, noticed
214         by Dan Winship.
215
216         * configure.in: Try -mt as compiler flag for threads, needed
217         for the HP C compiler on HP-UX.  (#163051, Paul Cornett)
218
219         * glib/ghash.c (g_hash_table_foreach): Fix a typo in the 
220         docs.  (#311569, Ross Burton)
221
222 2005-07-21  Matthias Clasen  <mclasen@redhat.com>
223
224         * configure.in: Bump version 
225
226         * === Released 2.7.4 ===
227
228         * NEWS: Updates
229
230 2005-07-20  Manish Singh  <yosh@gimp.org>
231
232         * tests/refcount/signals.c: use G_CALLBACK for signal connections.
233
234 2005-07-20  Matthias Clasen  <mclasen@redhat.com>
235
236         * glib/gthreadpool.c (g_thread_pool_free): Don't get
237         stuck in here if immediate is TRUE.  (#310954, 
238         Hong Jen Yee)
239
240         * tests/threadpool-test.c (main): Test immediate == TRUE.
241
242 2005-07-20  Tor Lillqvist  <tml@novell.com>
243
244         * glib/gutils.h (g_win32_get_system_data_dirs): Make this an
245         inline function. Define it only if G_CAN_INLINE and not
246         C++. (#173098)
247
248 2005-07-19  Matthias Clasen  <mclasen@redhat.com>
249
250         * glib/gstring.c (g_string_chunk_insert_len): Avoid
251         an unnecessary strlen if len is -1.  (#169692, 
252         Benoit Dejean)
253
254         * glib/gatomic.c (g_atomic_pointer_compare_and_exchange): 
255         Fix g_atomic_pointer_compare_and_exchange on sparc64.
256         (#167572, Gert Doering)
257
258 2005-07-15  Matthias Clasen  <mclasen@redhat.com>
259
260         * configure.in: Bump version
261
262         * === Released 2.7.3 ===
263         
264 2005-07-15  Matthias Clasen  <mclasen@redhat.com>
265
266         * tests/Makefile.am (SUBDIRS): Add tests/refcount
267
268         * configure.in: Add tests/refcount
269
270         * tests/refcount/properties.c: Test property changes
271         from multiple threads.
272
273         * tests/refcount/signals.c: Test signal emission from
274         multiple threads.
275
276         * tests/refcount/objects.c: Test refcounting from 
277         multiple threads.
278
279         * tests/refcount/objects2.c: 
280         * tests/refcount/properties2.c: Tests to measure the 
281         overhead of threadsafe refcounting.
282         
283         * glib/giochannel.c (g_io_channel_ref, g_io_channel_unref): 
284         Use atomic operations to make refcounting
285         threadsafe.  (#166020, Wim Taymans)
286
287         * NEWS: Updates
288
289 2005-07-14  Matthias Clasen  <mclasen@redhat.com>
290
291         * tests/spawn-test.c: 
292         * tests/uri-test.c: 
293         * tests/thread-test.c: 
294         * tests/queue-test.c: 
295         * tests/mainloop-test.c: 
296         * tests/iochannel-test.c: 
297         * tests/gio-test.c: 
298         * tests/child-test.c: Make the tests silent on success.
299
300 2005-07-13  Matthias Clasen  <mclasen@redhat.com>
301
302         * glib/gfileutils.c (g_mkdir_with_parents): Fix a 
303         typo.  (#310243, Richard Laager)
304
305         * glib/goption.c (g_option_group_add_entries): Warn if a
306         short name is not acceptable.
307
308 2005-07-12  Matthias Clasen  <mclasen@redhat.com>
309
310         * glib/goption.h (G_OPTION_FLAG_NOALIAS): 
311         * glib/goption.c: Add and implement a new flag
312         to turn off the automatic <groupname>- prefixing
313         for conflict resolution of long option names. (#171840,
314         Adam McLaurin)
315         
316         All optional callback arguments  (#308886, Pawel
317         Sliwowski)
318
319         * glib/goption.h (G_OPTION_FLAG_OPTIONAL_ARG): 
320         * glib/goption.c: Add and implement a new flag
321         to indicate that a callback *optionally* takes another
322         argument.
323
324         * tests/option-test.c: Add tests for optional arguments.
325
326 2005-07-12  Matthias Clasen  <mclasen@redhat.com>
327
328         * glib/gthread.c (g_static_rec_mutex_lock_full): Don't lock
329         if depth is zero.  (#310148, Wim Taymans)
330
331 2005-07-10  Matthias Clasen  <mclasen@redhat.com>
332
333         * glib/gutils.c (g_listenv): Ignore anomalous environment
334         entries which are not of the form variable=value.  (#309859,
335         Morten Welinder)
336
337 2005-07-09  Tor Lillqvist  <tml@novell.com>
338
339         * glib/giowin32.c: Totally rewritten socket channel
340         implementation. See discussion in bug #147392.
341
342         * configure.in: Don't use autoconf variables for the resource
343         object files on Win32 any longer. Instead handle that in the
344         Makefile.am files. Check for windres.
345
346         * glibconfig.h.win32.in: Minor tuning to match the
347         configure-produced glibconfig.h closely.
348
349         * glib/Makefile.am: Don't use the scripts in build/win32 to
350         compile glib.rc into a resource object file. (This means we lose
351         the build number increment magic, but I doubt it was that useful
352         anyway.) Instead use windres directly. To pass the normal .o file
353         produced by windres through libtool, which wants .lo files, pass
354         it directly to the linker using a -Wl option.
355
356         * glib/glib.rc.in: Thus replace BUILDNUMBER with 0.
357
358 2005-07-08  Matthias Clasen  <mclasen@redhat.com>
359
360         * configure.in: Bump version
361         
362         * === Released 2.7.2 ===
363
364         * NEWS: Updates
365
366 2005-07-07  Matthias Clasen  <mclasen@redhat.com>
367
368         * configure.in: Make the size_t size detection work on AIX. 
369         (#309725)
370
371 2005-07-06  Matthias Clasen  <mclasen@redhat.com>
372
373         * configure.in: Require a newer gtk-doc.
374
375 2005-07-01  Hans Breuer  <hans@breuer.org>
376
377         * glib/gmessages.c : include <process.h> for getpid()
378         * glib/gmappedfile.c : include <io.h> for close() etc.
379         * glib/makefile.msc.in : add    gmappedfile.obj
380
381 2005-07-01  Matthias Clasen  <mclasen@redhat.com>
382
383         * glib/gkeyfile.c (g_key_file_get_key_comment): 
384         (g_key_file_get_top_comment): Don't reverse the order of multiline 
385         comments.
386         (g_key_file_get_group_comment): Actually get the group comment.
387
388         * tests/keyfile-test.c (test_comments): Test that comments are
389         handled properly.  (#309263, Mikael Magnusson)
390
391 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
392
393         * configure.in: Bump version
394
395         * === Released 2.7.1 ===
396
397 2005-06-30  Matthias Clasen  <mclasen@redhat.com>
398
399         * glib/gstring.c (g_str_hash): Fix portability issues.  
400         (#307064, Morten Welinder)
401
402         Apply a patch which may make GLib work on BeOS again.  
403         (#309157, Kian Duffy)
404
405         * glib/gmain.c: Update the BeOS includes.
406
407         * glib/gstdio.c: 
408         * glib/gutils.c (g_find_program_in_path): 
409         * glib/gbacktrace.c (g_on_error_stack_trace): Use the UNIX
410         implementation on BeOS, as well.
411
412         * configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
413         on BeOS.
414
415         * NEWS: Updates
416
417 2005-06-26  Tor Lillqvist  <tml@novell.com>
418
419         * glib/Makefile.am: libtool installs/uninstalls the import
420         library, no need to do it ourselves. Do still install/uninstall
421         the .def file, though.
422
423         * glib/gmappedfile.c: Add Win32 implementation.
424         (g_mapped_file_free): Don't mention writable shared mappings in
425         the doc comment. Free the GMappedFile struct.
426
427         * tests/mapping-test.c (main): No kill() or SIGUSR1 on Win32, use
428         a flag file instead to stop the child. Use g_usleep() instead of
429         sleep().
430
431 2005-06-24  Matthias Clasen  <mclasen@redhat.com>
432
433         Add an mmap() wrapper called GMappedFile. (#148218,
434         David Schleef, Behdad Esfahbod)
435         
436         * glib/gmappedfile.[hc]: New files.
437
438         * configure.in: Check for mmap.
439         
440         * glib/Makefile.am: Add new files.
441         
442         * glib/glib.symbols: Add new functions.
443
444         * glib/glib.h: Include gmappedfile.h
445
446         * tests/mapping-test.c: Tests for GMappedFile.
447
448         * tests/Makefile.am: Add new file.
449
450         * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --enable-man.
451
452 2005-06-24  Tor Lillqvist  <tml@novell.com>
453
454         * glib/Makefile.am (install-libtool-import-lib): Current GNU tools
455         do understand the PRIVATE keyword.
456
457         * glib/gfileutils.c (g_mkdir_with_parents): Return error with
458         EINVAL also for empty pathnames.
459         (g_build_pathname_va): Fix typo.
460
461 Thu Jun 23 15:52:08 2005  Manish Singh  <yosh@gimp.org>
462
463         * glib/gfileutils.c: g_build_filename_va is only use in the G_OS_WIN32
464         case, so compile it conditionally.
465
466 2005-06-23  Matthias Clasen  <mclasen@redhat.com>
467
468         * tests/keyfile-test.c (test_group_remove): Don't leak
469         memory here.
470
471         * glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
472         leak output_path.  (#308546, Kjartan Maraas)
473
474         * glib/glib.symbols: 
475         * glib/gfileutils.h: 
476         * glib/gfileutils.c (g_build_pathv, g_build_filenamev): 
477         Variants of g_build_path() and g_build_filename()
478         which take a string array instead of varargs.  
479         (#149092, Todd A. Fisher)
480
481         * tests/strfunc-test.c: Add tests for g_build_pathv() 
482         and g_build_filenamev().
483
484 2005-06-22  Tor Lillqvist  <tml@novell.com>
485
486         * glib/gfileutils.c
487         * glib/gfileutils.h
488         * glib/glib.symbols
489         * tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
490
491 2005-06-22  Matthias Clasen  <mclasen@redhat.com>
492
493         * glib/goption.c (parse_short_option, parse_long_option): 
494         Pass the option name also in the NO_ARG case.  (#308602,
495         Masatake YAMATO)
496         (parse_arg): Properly store changes for arrays.  (#308528,
497         Roger Leigh)
498
499 2005-06-22  Tor Lillqvist  <tml@novell.com>
500
501         * glib/gfileutils.c (g_makepath): New function. Creates a
502         directory including intermediate parent directories as
503         needed. (#60509)
504
505         * glib/gfileutils.h: Declare it.
506
507         * glib/gutils.c (g_get_host_name): New function. Returns the
508         machine's name, or one of its names. Document that it is
509         best-effort only, and not guaranteed to be unique or anything.
510         (g_get_any_init): Get the host name here. On Unix use
511         gethostname(), on Windows use GetComputerName(). (#5200)
512
513         * glib/gutils.h: Declare it.
514
515         * glib/glib.symbols: Add new functions.
516
517         * tests/testglib.c: Test g_makepath() and g_get_host_name().
518         
519 2005-06-18  Matthias Clasen  <mclasen@redhat.com>
520
521         * glib/goption.h: 
522         * glib/goption.c: Add G_OPTION_FLAG_NO_ARG and
523         G_OPTION_FLAG_FILENAME to allow greater control of
524         G_OPTION_ARG_CALLBACK options. (#302632, Dan Winship)
525
526         * tests/option-test.c: test callback args
527
528 2005-06-14  Theppitak Karoonboonyanan  <thep@linux.thai.net>
529
530         * configure.in: Added 'th' (Thai) to ALL_LINGUAS.
531
532 2005-06-10  Matthias Clasen  <mclasen@redhat.com>
533
534         * configure.in: Bump version
535
536         * === Released 2.7.0 ===
537
538         * NEWS: Updates
539
540 2005-06-09  Matthias Clasen  <mclasen@redhat.com>
541
542         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Better
543         error checking. (#306389, Morten Welinder)
544
545         * glib/goption.c (parse_int): Set errno to 0 before calling
546         strtol.  (#306388, Morten Welinder)
547
548 2005-06-09  Tor Lillqvist  <tml@novell.com>
549
550         * glib/gstdio.h
551         * glib/gstdio.c
552         * glib/glib.symbols: Add a chdir() wrapper, too.
553
554         * glib/glib.symbols: Add g_win32_locale_filename_from_utf8().
555
556         * glib/gwin32.c (g_win32_locale_filename_from_utf8): Clarify doc
557         comment.
558
559 2005-06-08  Tor Lillqvist  <tml@novell.com>
560
561         * glib/gutils.c (get_windows_directory_root): New helper function
562         on Win32, returns the root of the drive (or possibly share) where
563         the Windows directory is. (In the case of Terminal Server sessions
564         the Windows directory is a per-user folder.)
565         (g_get_any_init): Use get_windows_directory_root() as last resort
566         for both temp directory and home directory. g_get_home_dir() now
567         never returns NULL on Win32. Don't look at HOMEDRIVE and
568         HOMEPATH. HOME, USERPROFILE, CSIDL_PROFILE and Windows directory
569         drive root should be enough.
570
571 2005-06-08  Matthias Clasen  <mclasen@redhat.com>
572
573         * glib/glib.symbols: 
574         * glib/gunicode.h: 
575         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
576         New function to calculate collation keys which are more
577         suitable for sorting filenames.  (#172690, Ole Laursen)
578
579 Fri May 27 17:18:00 2005  Manish Singh  <yosh@gimp.org>
580
581         * glib/goption.c (parse_short_option): initialize option_name
582         before using it.
583
584 2005-05-27  Matthias Clasen  <mclasen@redhat.com>
585
586         * glib/goption.c (parse_short_option, parse_long_option):
587         Return an error if an option is missing its argument.  (#305576,
588         Björn Lindqvist)
589
590         * tests/option-test.c (missing_arg_test): Add a testcase.
591
592 Wed May 25 15:33:51 2005  Manish Singh  <yosh@gimp.org>
593
594         * glib/goption.c (print_help): rest_description should be const.
595
596 2005-05-25  Matthias Clasen  <mclasen@redhat.com>
597
598         * glib/gunidecomp.c (combine_hangul): Don't eat Hangul 
599         when normalizing.  (#301742, reported by Christian Biere,
600         patch by Noah Levitt)
601
602 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
603
604         * glib/goption.c (print_help): If the remaining argument
605         has an arg_description, display the synopsis as
606         PROGNAME [OPTION...] REST  (#305346, Noah Levitt)
607
608 2005-05-20  Federico Mena Quintero  <federico@ximian.com>
609
610         Merged from glib-2-6:
611
612         * glib/gspawn.c (g_spawn_command_line_sync): Clarify the meaning
613         of exit_status(); it's not the return code from the child, but
614         rather the waitpid() status.
615
616 2005-05-18  Matthias Clasen  <mclasen@redhat.com>
617
618         * glib/gunidecomp.c: Correct the end of the Hangul 
619         Syllables range, from 0xd7af to 0xd7a3, in several
620         places.  (#301984, Changwoo Ryu)
621
622 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
623
624         * tests/tree-test.c (main): Check the return values of
625         g_tree_remove().
626
627         * glib/gtree.c (g_tree_remove, g_tree_steal): Return
628         a boolean indicating wether the key was found.  (#302545,
629         Matthew F. Barnes)
630
631 2005-05-06  Brian Cameron  <brian.cameron@sun.com>
632
633         * configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
634           Makefile.am:  Added gmodule-no-export-2.0-uninstalled.pc.in
635           to allow building of other libraries like pango when 
636           glib is uninstalled.
637
638 2005-05-06  Matthias Clasen  <mclasen@redhat.com>
639
640         * tests/option-test.c: Add a testcase.
641         
642         * glib/goption.c (g_option_context_parse): Treat '-'
643         on its own as a non-option argument.  (#168008, Tim Musson,
644         Thomas Leonard and others)
645
646 2005-05-05  Owen Taylor  <otaylor@redhat.com>
647
648         * glib/gdataset.[ch] glib/gdatasetprivate.h: Add 
649         g_datalist_set/unset_flags(), g_datalist_get_flags() functions
650         to squeeze some bits into a GDataSet... this is needed for
651         efficient implementation of toggle references in GObject.
652
653         * tests/gobject/references.c tests/gobject/Makefile.am:
654         Add a test case for weak and toggle references.
655
656         * glib/gfileutils.[ch]: Rename g_file_replace() back
657         to g_file_set_contents().
658
659         * glib/glib.symbols: Update.
660
661 2005-05-02  Matthias Clasen  <mclasen@redhat.com>
662
663         * glib/gstring.c (g_str_equal, g_str_hash): Move docs
664         inline.
665
666 2005-05-01  Matthias Clasen  <mclasen@redhat.com>
667
668         * glib/ghash.h: Rename some parameters to make gtk-doc
669         happy.
670
671         * glib/gutils.c: 
672         * glib/gwin32.c: 
673         * glib/gstdio.c: Fix some typos, mark new API as "Since 2.8".
674
675 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
676
677         * glib/gtree.c: Clarify some docs. (#302062, Matthew F. Barnes)
678
679 2005-04-28  Matthias Clasen  <mclasen@redhat.com>
680
681         * glib/gstrfuncs.c (g_strcompress): Warn and don't crash
682         when meeting a trailing \\.  (#301373, Benjamin Otte)
683
684 2005-04-27  Tor Lillqvist  <tml@novell.com>
685
686         * glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
687         call g_set_error() unless the GError pointer is non-NULL. This
688         avoids infinite recursion problems in certain rare situations on
689         Windows, when g_locale_from_utf8() is called from
690         _glib_get_locale_dir() after the change below. It's the
691         _glib_gettext() calls to translate error messages that are
692         parameters to g_set_error() that cause the recursion, not
693         g_set_error() itself.
694
695         * glib/gwin32.c (g_win32_locale_filename_from_utf8): New
696         function. Converts a filename to the system codepage, and if a
697         straight conversion isn't possible (because the filename contains
698         characters not in the system codepage), try looking up the
699         filename (which should refer to an existing file for this to
700         succeed) with short (8.3) pathname components.
701
702         * glib/gutils.c (_glib_get_locale_dir): No need to cache the
703         result, this function is normally called only once. Return the
704         path to the locale directory in system codepage, not UTF-8. The
705         path is passed to bindtextdomain(), which doesn't use UTF-8 file
706         names. Use g_win32_locale_filename_from_utf8(). (#301772)
707
708         Don't do run-time lookup of message catalog directory on
709         Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
710         we use paths fixed at configure time.
711
712 2005-04-19  Tor Lillqvist  <tml@novell.com>
713
714         * glib/gutils.h: Minor comment improvement.
715
716 2005-04-18  Tor Lillqvist  <tml@novell.com>
717
718         * glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
719         save_errno was missing in one place.
720
721 Sat Apr 16 20:15:44 2005  Soeren Sandmann  <sandmann@redhat.com>
722
723         * glib/gfileutils.c (g_file_replace): Save the errno in various
724         places
725
726         * glib/gfileutils.c (set_umask_permissions): Fork a child and do
727         chmod() to the umask() permissions there.
728
729 2005-04-10  Matthias Clasen  <mclasen@redhat.com>
730
731         * glib/gmessages.h (g_debug): Use G_LOG_LEVEL_DEBUG in
732         both definitions.  (#300071, Tommi Komulainen)
733
734 2005-04-09  Tor Lillqvist  <tml@novell.com>
735
736         * glib/gutils.c: Include <process.h> on Win32 for getpid(). (#173094)
737
738 2005-04-08  Tor Lillqvist  <tml@novell.com>
739
740         * glib/gstdio.h
741         * glib/gstdio.c
742         * glib/glib.symbols (g_access, g_chmod, g_creat): Wrap also
743         access(), chmod() and creat(). (#169623, #171285)
744
745 2005-04-08  Tor Lillqvist  <tml@novell.com>
746
747         Improve g_get_system_data_dirs() on Windows. A library that calls
748         g_get_system_data_dirs() might be installed in a different
749         top-level prefix than GLib or the application being run.
750
751         * glib/gutils.h (g_win32_get_system_data_dirs): New static
752         function defined in this header. Calls
753         g_win32_get_system_data_dirs_for_module() passing the address of
754         itself as parameter. g_get_system_data_dirs() is #defined as this
755         function.
756
757         * glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
758         function. If the address parameter is non-NULL, the corresponding
759         module's installation location is used for one of the returned
760         path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
761         glib top-level and application top-level folders.
762         (g_get_system_data_dirs): Now just for backward compatibility on
763         Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).
764
765         * glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
766
767         * glib/gutils.c (read_aliases): Not used on Windows.
768         (unalias_lang): Don't do anything on Windows, there is no
769         /usr/share/locale/locale.alias file..
770         
771 Thu Apr  7 22:51:15 2005  <yosh@gimp.org>
772
773         * glib/gutils.c (g_get_system_data_dirs): Declare glib_top_share_dir
774         and exe_top_share_dir only in G_OS_WIN32.
775
776 2005-04-08  Tor Lillqvist  <tml@novell.com>
777
778         * glib/gutils.c (g_get_system_data_dirs): After investigating more
779         closely the actual use cases of this function, I understand better
780         what it needs to do on Windows. In addition to the Windows
781         COMMON_APPDATA and COMMON_DOCUMENTS folders, also return the
782         "share" subfolders of GLib's installation location and the
783         application .exe's installation location, hoping that either
784         matches what the function's caller is looking for.
785
786         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use wide char API
787         if available, and store dll name in UTF-8.
788
789 2005-04-05  Matthias Clasen  <mclasen@redhat.com>
790
791         * glib/gfileutils.c (get_contents_stdio): Avoid memory 
792         leaks in borderline cases.  (#172612, Morten Welinder)
793
794 2005-04-04  Matthias Clasen  <mclasen@redhat.com>
795
796         * glib/gconvert.c: Clarify docs in some places. (#172404, 
797         Morten Welinder)
798
799 2005-04-03  Matthias Clasen  <mclasen@redhat.com>
800
801         * glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is 
802         defined. This was the pre-2.6 behaviour, and without it,
803         G_IMPLEMENT_INLINES cannot be used in multiple .c files
804         at all.  (#165852, Dave Benson)
805
806 2005-04-01  Matthias Clasen  <mclasen@redhat.com>
807
808         * glib/gmain.c (g_child_watch_source_new): Add a note regarding
809         waitpid(-1).
810         (g_child_watch_source_init_multi_threaded): 
811         (g_child_watch_source_init_single): Don't use SA_RESTART,
812         since it causes problems on at least one platform. (#168352)
813
814 2005-03-30  Steve Murphy  <murf@e-tools.com>
815
816         * configure.in: Added "rw" to ALL_LINGUAS.
817
818 2005-03-30  Sven Neumann  <sven@gimp.org>
819
820         * glib/gfileutils.c (get_contents_stdio): handle the unlikely case
821         that no bytes are read from the file and allocate an empty string.
822
823 2005-03-30  Tor Lillqvist  <tml@novell.com>
824
825         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Always claim
826         file descriptors open to devices are readable, since we can't
827         know. fstat() doesn't give any useful information. (#145326)
828
829 2005-03-29  Tor Lillqvist  <tml@novell.com>
830
831         * glib/gmain.c (g_poll): [Win32] If the event fired, assign
832         f->revents=f->events. We can't know whether the upper layer using
833         the event actually is readable, writeable or what, so say that all
834         the conditions hold. Remove the ResetEvent() call that has been
835         ifdeffed out anyway for a long time. Remove an "#ifdef 1" and
836         #endif pair of lines, that code is not optional.
837         (g_get_current_time): [Win32] Use GetSystemTimeAsFileTime()
838         instead of time() and GetTickCount(). Much simpler.
839
840 2005-03-28  Matthias Clasen  <mclasen@redhat.com>
841
842         * tests/date-test.c: 
843         * tests/testgdate.c: Add tests for 
844         g_date_get_iso8601_week_of_year().
845
846         * glib/gdate.c (g_date_get_iso8601_week_of_year): 
847         Fix the calculation.  (#169858, Jon-Kare Hellan)
848
849 2005-03-27  Tor Lillqvist  <tml@novell.com>
850
851         * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
852         after all, and in fact necessary with HEAD libtool.
853
854 2005-03-23  Tor Lillqvist  <tml@novell.com>
855
856         * glib/gutils.c (g_getenv): [Win32] Fix corner case bug when
857         environment variable value is exactly one character.
858
859 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
860
861         * glib/glib.symbols: Add g_try_malloc0
862
863         * glib/gmem.h: Add g_try_new, g_try_new0, g_try_renew and
864         g_try_malloc0.  (#169611, Stefan Kost)
865
866         * glib/gmem.c: Implement g_try_malloc0.
867
868 2005-03-20  Tor Lillqvist  <tml@novell.com>
869
870         * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
871         handle if the caller doesn't want it also in the case without a
872         helper process.
873         (g_spawn_sync): Don't ask for a child pid which we don't need.
874
875         * glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
876         of GetTickCount(). (#159507)
877
878         * glib/gmessages.c (g_log_default_handler)
879         * glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
880         program name from the system to g_get_prgname(). Do output the pid
881         also on Win32 (useful in case there are several instances of the
882         same program running).
883
884         * tests/testglib.c (main): Print more detailled output from the
885         timer tests. Don't print home directory twice. Test
886         g_win32_error_message().
887
888         * tests/spawn-test.c (run_tests): On Win32, run netstat instead of
889         ipconfig. On Windows XP collecting output from ipconfig doesn't
890         seem to work for some reason.
891
892 2005-03-18  Hans Breuer  <hans@breuer.org>
893
894         * glib/makefile.msc.in : handle galiasdef.c (although completely 
895         useless for msvc build)
896
897         * glib/gbacktrace.c glib/gmessage.c : need at least _WIN_VER 0x0401
898         for IsDebuggerPresent()
899
900 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
901
902         * glib/gkeyfile.c: Update the documentation, reflecting the
903         fact that the special case for !group_name --> start_group
904         got removed.  (#170566, Tim-Philipp Müller)
905
906 2005-03-15  Matthias Clasen  <mclasen@redhat.com>
907
908         * glib/goption.c (g_option_context_set_main_group): Warn 
909         if there already is a main group.  (#170445, Jeff Franks)
910
911 Sun Mar 13 22:01:17 2005  Manish Singh  <yosh@gimp.org>
912
913         * tests/array-test.c: delete a bunch of dead code.
914
915 Sun Mar 13 21:28:47 2005  Manish Singh  <yosh@gimp.org>
916
917         * glib/gdataset.c: remove spurious IA prefix from g_quark_try_string.
918
919 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
920
921         * glib/gatomic.c:
922         * glib/gcache.c: Small fixes to the previous commit.
923
924 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
925
926         Make PLT-reduction work with gcc4, and don't include
927         everything in galias.h:
928         
929         * glib/glib.symbols: Group symbols by header and source file.
930         * glib/makegalias.pl: Protect definitions by the same 
931         preprocessor symbols used to guard the headers. Move
932         the alias declarations to a separate file which is 
933         produced when calling makegalias.pl -def
934         * glib/Makefile.am (galiasdef.c): Add a rule to generate this
935         file.
936         * glib/*.c: Include galias.h after the other GLib headers,
937         include galiasdef.c at the bottom.
938
939         * glib/glib.symbols: Add g_listenv and g_file_replace.
940
941 Fri Mar 11 23:51:12 2005  Soeren Sandmann  <sandmann@redhat.com>
942
943         * glib/gfileutils.c (write_to_temp_file): Don't try and generate
944         a dotfile from the name -- it doesn't work with absolute
945         paths. Also make documentation indicate that symlinks will be
946         overwritten. Both pointed out by Alexis S. L. Carvalho.
947
948 2005-03-11  Matthias Clasen  <mclasen@redhat.com>
949
950         * m4macros/glib-gettext.m4: Avoid stupid compiler complaints
951         about precision loss.
952
953 2005-03-10  Matthias Clasen  <mclasen@redhat.com>
954
955         * glib/gdate.c: Remove a lot of pointless g_return_if_fail()
956         checks.  (#169859, Morten Welinder)
957
958 2005-03-10  Sven Neumann  <sven@gimp.org>
959
960         * tests/file-test.c: include <gstdio.h>.
961
962 2005-03-10  Sven Neumann  <sven@gimp.org>
963
964         * glib/gfileutils.c (get_contents_stdio): delay memory allocation
965         until after the first read. Saves a bunch of reallocs. Also
966         increased the buffer size to 4096 bytes. (bug #165954)
967
968         * tests/file-test.c (test_get_contents): added a (very basic) test
969         for g_file_get_contents().
970
971 Wed Mar  9 19:06:45 2005  Manish Singh  <yosh@gimp.org>
972
973         * glib/glib.symbols: Add g_file_replace.
974
975 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
976
977         * configure.in: Bump version
978
979 2005-03-09  Sven Neumann  <sven@gimp.org>
980
981         * glib/gfileutils.c (g_file_replace): avoid unnecessary filename
982         conversions.
983
984 2005-03-09  Tor Lillqvist  <tml@novell.com>
985
986         * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir,
987         g_get_user_cache_dir, g_get_system_data_dirs,
988         g_get_system_config_dirs): [Win32] Don't leak return value from
989         get_special_folder(). (#169348, Daniel Atallah) Guard against
990         g_home_dir being NULL, use g_tmp_dir/g_user_name in that case.
991
992 Tue Mar  8 15:46:54 2005  Søren Sandmann  <sandmann@redhat.com>
993
994         * glib/gfileutils.c (g_file_replace): New API. A function to
995         atomically create a file.
996
997 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
998
999         * glib/glib.symbols: Add the new attributes here too.
1000
1001         * glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
1002         (#164706, Marc Meissner)
1003
1004         * glib/gstrfuncs.h: 
1005         * glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
1006         appropriate.
1007
1008         * glib/goption.c (parse_int): Fix an error message.  
1009         (#168751, Hazael Maldonado Torres)
1010
1011 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
1012
1013         * glib/gdebug.h: Small cleanup (use G_BEGIN/END_DECLS).
1014         (#168474, Fabricio Barros Cabral)
1015
1016 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
1017
1018         * glib/gutils.c (g_find_program_in_path): Mark the last
1019         paragraph of the docs as Windows-specific.  (#169433)
1020
1021 2005-03-06  Matthias Clasen  <mclasen@redhat.com>
1022
1023         * glib/gmarkup.c: Add G_GNUC_PRINTF attribute
1024         to set_error.
1025         (g_markup_parse_context_end_parse): Fix an
1026         error message, noticed by Tim Janik.
1027
1028 2005-02-24  Tor Lillqvist  <tml@novell.com>
1029
1030         * glib/Makefile.am (BUILT_EXTRA_DIST): Don't distribute
1031         glib.def. (#167496, J. Ali Harlow)
1032
1033         * glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
1034         Daniel Atallah)
1035
1036 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
1037
1038         * configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD 
1039         on non-linux platforms.  (#168177, Michael Banck)
1040
1041         * tests/keyfile-test.c (test_locale_string): Set LANGUAGE 
1042         instead of LC_ALL to shield against LANGUAGE being set in 
1043         the environment.  (#168311, Suren A. Chilingaryan)
1044
1045 Tue Feb 22 22:03:38 2005  Manish Singh  <yosh@gimp.org>
1046
1047         * glib/gstdio.h: On G_OS_UNIX, simple #define g_open and co. as
1048         aliases for their respective C library functions, instead of
1049         using the function wrappers. This avoids library users having to
1050         care about matching large file support with whatever glib has been
1051         built with. Fixes bug #167942.
1052
1053         * glib/gstdio.c
1054         * glib/abicheck.sh
1055         * glib/glib.symbols
1056         * glib/makegalias.pl: Logic to make the gstdio wrappers still
1057         available for compatibility, but not used in new code.
1058
1059 Tue Feb 22 18:33:07 2005  Manish Singh  <yosh@gimp.org>
1060
1061         * glib/gtimer.c (g_usleep): Simplify the loop for the fix below.
1062
1063 2005-02-20  Matthias Clasen  <mclasen@redhat.com>
1064
1065         * glib/gqueue.c (g_queue_new): Use a memchunk for
1066         sizeof(GQueue)-sized chunks.  (#167984, Fabrício Barros Cabral)
1067
1068         * glib/gtimer.c (g_usleep): Fix usage of 
1069         nanosleep().  (#163039, Bastien Nocera)
1070
1071 2005-02-16  Adi Attar  <aattar@cvs.gnome.org>
1072
1073         * configure.in: Added "xh" to ALL_LINGUAS.
1074
1075 2005-02-11  Tor Lillqvist  <tml@novell.com>
1076
1077         * glib/giowin32.c: Include winsock2.h before windows.h, to avoid
1078         compilation errors with MSVC. (#167105)
1079
1080 2005-02-10  Matthias Clasen  <mclasen@redhat.com>
1081
1082         * glib/goption.c (print_help): Take main group options into
1083         account when calculating column size.  (#166921)
1084         (g_option_context_parse): Accept -? as documented.  (#166977)
1085
1086 2005-02-09  Matthias Clasen  <mclasen@redhat.com>
1087         * glib/gkeyfile.c (find_file_in_data_dirs): Don't leak path
1088         here.  (#166801, Kjartan Maraas)
1089
1090 2005-02-08  Matthias Clasen  <mclasen@redhat.com>
1091
1092         * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
1093         write out of bounds.
1094
1095         * glib/goption.c (g_option_context_parse): Fix a 
1096         one-too-short memory allocation.  (#166609, Nicolas Laurent)
1097
1098         * tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
1099         MALLOC_CHECK_.
1100
1101         * tests/option-test.c: Add a test for unkown short options.
1102
1103 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
1104
1105         * glib/glib.symbols: 
1106         * glib/gutils.h: 
1107         * glib/gutils.c (g_listenv): New function to list all 
1108         environment variables.  (#166327, Hans Petter Jansson)
1109
1110 2005-02-07  Tor Lillqvist  <tml@novell.com>
1111
1112         * glib-zip.in: Add gmodule-no-export-2.0.pc.
1113
1114 Sun Feb  6 21:59:09 2005  Manish Singh  <yosh@gimp.org>
1115
1116         * glib/abicheck.sh: feed the contents of config.h and glibconfig.h
1117         into the preprocessor, since glib.symbols could need #defines
1118         from them.
1119
1120 Sun Feb  6 12:09:55 2005  Manish Singh  <yosh@gimp.org>
1121
1122         * glib/gatomic.c: Don't use matching constraints for asm mem
1123         parameters. This makes the code match with current glibc, and
1124         quiets some warnings with gcc 3.4.
1125
1126 2005-02-05  Tor Lillqvist  <tml@novell.com>
1127
1128         * configure.in (G_LIBS_EXTRA)
1129         * glib/giowin32.c: I think we can include <winsock2.h> and link
1130         with -lws2_32. Only Windows 95 originally didn't have Winsock 2,
1131         and it's available as an update for it. Not that we use any actual
1132         Winsock 2 -only features, but still, simpler to link directly with
1133         ws2_32.dll instead of going through wsock32.dll.
1134
1135         * glib/gfileutils.c (g_file_get_contents): In the Win32 ABI
1136         stability version, call g_file_get_contents_utf8(), not
1137         itself. (#166386, Bill Skaggs)
1138
1139 2005-02-04  Matthias Clasen  <mclasen@redhat.com>
1140
1141         * configure.in: Remove the --enable-ansi option  (#160469)
1142
1143         * configure.in: Define a HAVE_GNUC_VISIBILITY automake
1144         conditional.
1145
1146         * glib/Makefile.am (TESTS): Only check the abi if
1147         the compiler supports visibility, otherwise we
1148         know there will be (harmless) extra symbols.  
1149         (#166181, Ed Avis)
1150
1151 2005-02-02  Tor Lillqvist  <tml@novell.com>
1152
1153         * glib/gwin32.h: Remove unnecessary MSVC-only typedef for
1154         pid_t. (#165910) GLib does not pretend to be a POSIX emulation
1155         library.
1156
1157         * glib/gstdio.c: In the Win32 part of all functions, handle
1158         invalid UTF-8 more robustly. Don't pass the resulting NULL
1159         wide-char or codepage strings on to C library functions, but bail
1160         out early. (#166084)
1161
1162         * glib/gfileutils.c: Don't use potentially incorrect errno in
1163         several places. (#165951)
1164         (g_mkstemp): Set errno appropriately.
1165
1166 2005-02-02  Matthias Clasen  <mclasen@redhat.com>
1167
1168         * glib/gutils.c: Move doc comments inline.
1169
1170         * glib/ghash.h: Adjust some argument names.
1171
1172         * configure.in: Give meaningful names to g_memmove() 
1173         arguments.
1174
1175 2005-02-01  Matthias Clasen  <mclasen@redhat.com>
1176
1177         * tests/keyfile-test.c (test_key_remove): Add test case for
1178         key removal.
1179
1180         * glib/gkeyfile.c (g_key_file_remove_key): Actually remove 
1181         the key from the list of pairs.  (#165980, David Hoover)
1182
1183         * glib/gkeyfile.c: Doc clarifications.  (#165907, Vincent Untz)
1184
1185         * tests/keyfile-test.c (test_group_remove): Add test case for
1186         group removal.
1187
1188         * glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
1189         if the group doesn't exist.  (#165887, Mathias Hasselmann)
1190
1191 2005-01-30  Matthias Clasen  <mclasen@redhat.com>
1192
1193         * tests/keyfile-test.c: Some more unit tests.
1194
1195 2005-01-28  Christian Rose  <menthos@menthos.com>
1196
1197         * configure.in: Added "tl" to ALL_LINGUAS.
1198
1199 2005-01-24  Matthias Clasen  <mclasen@redhat.com>
1200
1201         * tests/run-markup-tests.sh: Let $srcdir default to .
1202
1203         * tests/markups/fail-40.gmarkup: Add a test with a long entity
1204         name.
1205
1206         * glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
1207         copy the entity name into a short buffer of fixed length. Instead,
1208         compare it in place with strncmp(), and do a full strdup() in the
1209         error path.  (#165100, Simon Budig)
1210
1211 2005-01-22  Tor Lillqvist  <tml@novell.com>
1212
1213         * glib/gdate.c (g_date_set_time): Don't g_assert that localtime()
1214         returns non-NULL. It does return NULL at least on Win32 if you
1215         pass it a negative time_t, which although wrong, shouldn't cause
1216         an application to abort. Instead return 2000-01-01 as a default
1217         date. Print a warning unless G_DISABLE_CHECKS. (#164622)
1218
1219 2005-01-20  Matthias Clasen  <mclasen@redhat.com>
1220
1221         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Don't
1222         interpret leading zeros as octal. The specification requires
1223         %f parsing, and %f doesn't allow octal.  
1224
1225         * tests/keyfile-test.c: Add some more tests.
1226
1227         * glib/gkeyfile.c (g_key_file_get_keys): Return keys in
1228         the order found in the file, rather than the opposite.
1229         (g_key_file_parse_value_as_string): Fix error reporting.
1230
1231 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
1232
1233         * glib/gkeyfile.c (g_key_file_parse_data): Accept \r\n as 
1234         line end.  (#163030, Bastian Nocera)
1235         (g_key_file_load_from_data): Make -1 work as a size.
1236         
1237         * tests/keyfile-test.c: Some unit tests for the keyfile
1238         parser.  
1239
1240         * tests/Makefile.am (test_programs): Add keyfile-test.
1241
1242 2005-01-19  Tor Lillqvist  <tml@novell.com>
1243
1244         * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call
1245         G_BREAKPOINT() if being debugged.
1246
1247         * glib/gmessages.c (g_logv): For fatal messages on Win32, use
1248         G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being
1249         debugged. Suggestion by Ulf Lamping.
1250
1251 2005-01-18  Matthias Clasen  <mclasen@redhat.com>
1252
1253         * glib/gqsort.c: Don't include alloca.h. It is not needed,
1254         and does not exist on win32.  (#164468, Kazuki IWAMOTO)
1255
1256         * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a
1257         sparse warning.  (#164467, Kjartan Maraas)
1258
1259 2005-01-17  Matthias Clasen  <mclasen@redhat.com>
1260
1261         * glib/gconvert.c (g_get_filename_charsets): Don't crash
1262         if G_FILENAME_ENCODING is empty.  (#164330, Pawel Sakowski)
1263
1264 2005-01-15  Tor Lillqvist  <tlillqvist@novell.com>
1265
1266         * configure.in: sh portability fix. Use "test" and not [.
1267         (#163144, Robert Ögren)
1268
1269 2005-01-13  Matthias Clasen  <mclasen@redhat.com>
1270
1271         * glib/gqsort.c: Sync to glibc.  (#133994, Morten Welinder, 
1272         patch by Kjartan Maraas)
1273
1274 2005-01-11  Owen Taylor <otaylor@redhat.com>
1275
1276         * configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
1277
1278         * glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
1279         Use grep | head -n 1 instead of grep -m 1 which doesn't work
1280         with slightly older versions of GNU grep in 
1281         install-libtool-import-lib rule.
1282
1283 2005-01-11  Matthias Clasen  <mclasen@redhat.com>
1284
1285         * glib/gdir.c (g_dir_open): Typo fix.
1286
1287 2005-01-10  Owen Taylor  <otaylor@redhat.com>
1288
1289         * Makefile.am (EXTRA_DIST): Add missing ChangeLog.pre*
1290
1291 2005-01-09  Hans Breuer  <hans@breuer.org>
1292
1293         * glib/gfileutils.c : make it compile with mvc6 default sdk,
1294         (#define INVALID_FILE_ATTRIBUTES, FILE_ATTRIBUTE_DEVICE)
1295
1296 2005-01-09  Tor Lillqvist  <tlillqvist@novell.com>
1297
1298         * glib/gwin32.c: Include also wchar.h for wcslen on
1299         Cygwin.
1300         (g_win32_error_message): Fix cast. (#163133, Roger Leigh)
1301
1302         * glib/gfileutils.c: Include <io.h> on Windows for
1303         prototypes. (#163390, Kazuki Iwamoto)
1304
1305 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
1306
1307         * NEWS: Typo fixes.
1308
1309         * configure.in: Bump version
1310
1311         * === Released 2.6.1 ===
1312
1313 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
1314
1315         * configure.in: 
1316         * Makefile.am: Generate and distribute gmodule-export-2.0.pc,
1317         which is currently just a copy of gmodule-2.0.pc, but makes
1318         it explicit that it adds --export-dynamic.
1319         
1320         * gmodule-export-2.0.pc.in: Copy of gmodule-2.0.pc.in.
1321
1322 2005-01-06  Tor Lillqvist  <tml@iki.fi>
1323
1324         * glib/Makefile.am
1325         * gobject/Makefile.am: glib.def and gobject.def are generated, not
1326         in $(srcdir). (#163143, J. Ali Harlow)
1327
1328         * configure.in
1329         * glib/Makefile.am
1330         * gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
1331         J. Ali Harlow)
1332
1333 2005-01-05  Matthias Clasen  <mclasen@redhat.com>
1334
1335         * glib/gutils.h: Simplify the inlining magic to make it
1336         work at Oh zero.  (#162990, Kalpesh Shah) 
1337
1338 2005-01-04  Tor Lillqvist  <tml@iki.fi>
1339
1340         * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
1341         instead of setlocale() on Windows. setlocale() returns strings
1342         like "Turkish_Turkey".
1343
1344 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
1345
1346         Fix the inlining magic.  (#157536, Jens Hatlak, and
1347         #149907, Morten Welinder)
1348         
1349         * configure.in: Define G_CAN_INLINE in glibconfig.h
1350
1351         * glib/gutils.h: Streamline the inlining magic a bit,
1352         don't use extern when implementing the non-inlined 
1353         version.
1354
1355 2005-01-03  Matthias Clasen  <mclasen@redhat.com>
1356
1357         * glib/gutils.c (g_find_program_in_path): Don't return
1358         directories.  (#160738, Tommi Komulainen)
1359
1360         * glib/gfileutils.c (g_file_get_contents): Clarify the 
1361         documentation.  (#162251, Mariano Suárez-Alvarez)
1362
1363 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
1364
1365         * glib/gutils.c (g_setenv, g_unsetenv): Clarify the 
1366         docs.  (#162747, Crispin Flowerday)
1367
1368 2005-01-01  J. Ali Harlow  <ali@juiblex.co.uk>
1369
1370         * configure.in: Don't use AC_TRY_RUN to test for long long format
1371         when using the MSVCRT.DLL runtime since we know the answer anyway
1372         and it causes some mild inconvience when cross compiling.
1373
1374         * README.win32: Add a reference to the cross compiling section
1375         of the reference manual.
1376
1377         * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
1378         requires %I64i instead of %lli. (#161306)
1379
1380 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1381
1382         * glib/gutils.c: Make the g_getenv() ABI backward compatibility
1383         wrapper more robust.
1384
1385 2005-01-01  Tor Lillqvist  <tml@iki.fi>
1386
1387         * glib/glib.symbols
1388         * glib/gutils.h
1389         * glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
1390         and g_find_program_in_path() take and return UTF-8 strings on
1391         Win32. Implement DLL ABI backward compatility for them, too. Move
1392         all the DLL ABI stability wrappers to the end of the file. Use
1393         wide character API when available in inner_find_program_in_path().
1394
1395         * glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
1396         use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
1397         to consider somebody actually having anything else than ASCII
1398         in PATHEXT, but...)
1399
1400 2004-12-31  Tor Lillqvist  <tml@iki.fi>
1401
1402         * glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
1403         use GetFileAttributes() instead of stat(). stat() is unreliable
1404         for corner cases like '\\server\share' or '.\'. Part of fixing
1405         #161797. When testing for executability, in addition to the fixed
1406         set of executable file name extensions also check the PATHEXT
1407         environment variable.
1408
1409 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1410
1411         * glib/gutils.c (g_get_current_dir): In the Win32 version, use
1412         GetCurrentDirectory() directly for simpler buffer length
1413         management. I don't trust getcwd() getting it right all the time.
1414
1415 2004-12-30  Matthias Clasen  <mclasen@redhat.com>
1416
1417         * glib/gfileutils.c (g_file_test): Typo fix.
1418
1419 2004-12-30  Tor Lillqvist  <tml@iki.fi>
1420
1421         * glib/gutils.c (g_path_skip_root): Require UNC paths to start
1422         with exactly two slashes.
1423         (g_get_current_dir): Use wide character API when available.
1424         (g_path_get_dirname): Handle UNC paths better. Part of fix for
1425         #161797.
1426
1427 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
1428
1429         * configure.in: Add an OS_LINUX conditional.
1430
1431         * glib/Makefile.am (TESTS): Only check the ABI on 
1432         linux, since the shell script is not portable, and libtool
1433         deficiencies may distort the ABI on other platforms.  (#161741)
1434
1435 2004-12-21  Matthias Clasen  <mclasen@redhat.com>
1436
1437         * glib/goption.c (print_entry): Don't show
1438         the special G_OPTION_REMAINING entry.  (#161934,
1439         Matthew F. Barnes)
1440
1441 2004-12-20  Tor Lillqvist  <tml@iki.fi>
1442
1443         * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
1444         docs.
1445
1446 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
1447
1448         * tests/option-test.c: Add some tests for '--' 
1449         stripping.
1450
1451         * glib/goption.c (g_option_context_parse): Don't
1452         strip '--' if it would be needed by a second option
1453         parser.  (#161701)
1454
1455         * glib/gunicollate.c (g_utf8_collate): Make docs 
1456         more accurate.  (#161683, Marcin Krzyzanowski)
1457
1458 2004-12-19  Matthias Clasen  <mclasen@redhat.com>
1459
1460         * glib/goption.c (g_option_context_parse): Call
1461         post-parse hooks also if argv is NULL.  (#161668,
1462         Marcin Krzyzanowski)
1463