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