New helper function on Win32, returns the root of the drive (or possibly
[platform/upstream/glib.git] / ChangeLog
1 2005-06-08  Tor Lillqvist  <tml@novell.com>
2
3         * glib/gutils.c (get_windows_directory_root): New helper function
4         on Win32, returns the root of the drive (or possibly share) where
5         the Windows directory is. (In the case of Terminal Server sessions
6         the Windows directory is a per-user folder.)
7         (g_get_any_init): Use get_windows_directory_root() as last resort
8         for both temp directory and home directory. g_get_home_dir() now
9         never returns NULL on Win32. Don't look at HOMEDRIVE and
10         HOMEPATH. HOME, USERPROFILE, CSIDL_PROFILE and Windows directory
11         drive root should be enough.
12
13 2005-06-08  Matthias Clasen  <mclasen@redhat.com>
14
15         * glib/glib.symbols: 
16         * glib/gunicode.h: 
17         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
18         New function to calculate collation keys which are more
19         suitable for sorting filenames.  (#172690, Ole Laursen)
20
21 Fri May 27 17:18:00 2005  Manish Singh  <yosh@gimp.org>
22
23         * glib/goption.c (parse_short_option): initialize option_name
24         before using it.
25
26 2005-05-27  Matthias Clasen  <mclasen@redhat.com>
27
28         * glib/goption.c (parse_short_option, parse_long_option):
29         Return an error if an option is missing its argument.  (#305576,
30         Björn Lindqvist)
31
32         * tests/option-test.c (missing_arg_test): Add a testcase.
33
34 Wed May 25 15:33:51 2005  Manish Singh  <yosh@gimp.org>
35
36         * glib/goption.c (print_help): rest_description should be const.
37
38 2005-05-25  Matthias Clasen  <mclasen@redhat.com>
39
40         * glib/gunidecomp.c (combine_hangul): Don't eat Hangul 
41         when normalizing.  (#301742, reported by Christian Biere,
42         patch by Noah Levitt)
43
44 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
45
46         * glib/goption.c (print_help): If the remaining argument
47         has an arg_description, display the synopsis as
48         PROGNAME [OPTION...] REST  (#305346, Noah Levitt)
49
50 2005-05-20  Federico Mena Quintero  <federico@ximian.com>
51
52         Merged from glib-2-6:
53
54         * glib/gspawn.c (g_spawn_command_line_sync): Clarify the meaning
55         of exit_status(); it's not the return code from the child, but
56         rather the waitpid() status.
57
58 2005-05-18  Matthias Clasen  <mclasen@redhat.com>
59
60         * glib/gunidecomp.c: Correct the end of the Hangul 
61         Syllables range, from 0xd7af to 0xd7a3, in several
62         places.  (#301984, Changwoo Ryu)
63
64 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
65
66         * tests/tree-test.c (main): Check the return values of
67         g_tree_remove().
68
69         * glib/gtree.c (g_tree_remove, g_tree_steal): Return
70         a boolean indicating wether the key was found.  (#302545,
71         Matthew F. Barnes)
72
73 2005-05-06  Brian Cameron  <brian.cameron@sun.com>
74
75         * configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
76           Makefile.am:  Added gmodule-no-export-2.0-uninstalled.pc.in
77           to allow building of other libraries like pango when 
78           glib is uninstalled.
79
80 2005-05-06  Matthias Clasen  <mclasen@redhat.com>
81
82         * tests/option-test.c: Add a testcase.
83         
84         * glib/goption.c (g_option_context_parse): Treat '-'
85         on its own as a non-option argument.  (#168008, Tim Musson,
86         Thomas Leonard and others)
87
88 2005-05-05  Owen Taylor  <otaylor@redhat.com>
89
90         * glib/gdataset.[ch] glib/gdatasetprivate.h: Add 
91         g_datalist_set/unset_flags(), g_datalist_get_flags() functions
92         to squeeze some bits into a GDataSet... this is needed for
93         efficient implementation of toggle references in GObject.
94
95         * tests/gobject/references.c tests/gobject/Makefile.am:
96         Add a test case for weak and toggle references.
97
98         * glib/gfileutils.[ch]: Rename g_file_replace() back
99         to g_file_set_contents().
100
101         * glib/glib.symbols: Update.
102
103 2005-05-02  Matthias Clasen  <mclasen@redhat.com>
104
105         * glib/gstring.c (g_str_equal, g_str_hash): Move docs
106         inline.
107
108 2005-05-01  Matthias Clasen  <mclasen@redhat.com>
109
110         * glib/ghash.h: Rename some parameters to make gtk-doc
111         happy.
112
113         * glib/gutils.c: 
114         * glib/gwin32.c: 
115         * glib/gstdio.c: Fix some typos, mark new API as "Since 2.8".
116
117 2005-04-29  Matthias Clasen  <mclasen@redhat.com>
118
119         * glib/gtree.c: Clarify some docs. (#302062, Matthew F. Barnes)
120
121 2005-04-28  Matthias Clasen  <mclasen@redhat.com>
122
123         * glib/gstrfuncs.c (g_strcompress): Warn and don't crash
124         when meeting a trailing \\.  (#301373, Benjamin Otte)
125
126 2005-04-27  Tor Lillqvist  <tml@novell.com>
127
128         * glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
129         call g_set_error() unless the GError pointer is non-NULL. This
130         avoids infinite recursion problems in certain rare situations on
131         Windows, when g_locale_from_utf8() is called from
132         _glib_get_locale_dir() after the change below. It's the
133         _glib_gettext() calls to translate error messages that are
134         parameters to g_set_error() that cause the recursion, not
135         g_set_error() itself.
136
137         * glib/gwin32.c (g_win32_locale_filename_from_utf8): New
138         function. Converts a filename to the system codepage, and if a
139         straight conversion isn't possible (because the filename contains
140         characters not in the system codepage), try looking up the
141         filename (which should refer to an existing file for this to
142         succeed) with short (8.3) pathname components.
143
144         * glib/gutils.c (_glib_get_locale_dir): No need to cache the
145         result, this function is normally called only once. Return the
146         path to the locale directory in system codepage, not UTF-8. The
147         path is passed to bindtextdomain(), which doesn't use UTF-8 file
148         names. Use g_win32_locale_filename_from_utf8(). (#301772)
149
150         Don't do run-time lookup of message catalog directory on
151         Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
152         we use paths fixed at configure time.
153
154 2005-04-19  Tor Lillqvist  <tml@novell.com>
155
156         * glib/gutils.h: Minor comment improvement.
157
158 2005-04-18  Tor Lillqvist  <tml@novell.com>
159
160         * glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
161         save_errno was missing in one place.
162
163 Sat Apr 16 20:15:44 2005  Soeren Sandmann  <sandmann@redhat.com>
164
165         * glib/gfileutils.c (g_file_replace): Save the errno in various
166         places
167
168         * glib/gfileutils.c (set_umask_permissions): Fork a child and do
169         chmod() to the umask() permissions there.
170
171 2005-04-10  Matthias Clasen  <mclasen@redhat.com>
172
173         * glib/gmessages.h (g_debug): Use G_LOG_LEVEL_DEBUG in
174         both definitions.  (#300071, Tommi Komulainen)
175
176 2005-04-09  Tor Lillqvist  <tml@novell.com>
177
178         * glib/gutils.c: Include <process.h> on Win32 for getpid(). (#173094)
179
180 2005-04-08  Tor Lillqvist  <tml@novell.com>
181
182         * glib/gstdio.h
183         * glib/gstdio.c
184         * glib/glib.symbols (g_access, g_chmod, g_creat): Wrap also
185         access(), chmod() and creat(). (#169623, #171285)
186
187 2005-04-08  Tor Lillqvist  <tml@novell.com>
188
189         Improve g_get_system_data_dirs() on Windows. A library that calls
190         g_get_system_data_dirs() might be installed in a different
191         top-level prefix than GLib or the application being run.
192
193         * glib/gutils.h (g_win32_get_system_data_dirs): New static
194         function defined in this header. Calls
195         g_win32_get_system_data_dirs_for_module() passing the address of
196         itself as parameter. g_get_system_data_dirs() is #defined as this
197         function.
198
199         * glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
200         function. If the address parameter is non-NULL, the corresponding
201         module's installation location is used for one of the returned
202         path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
203         glib top-level and application top-level folders.
204         (g_get_system_data_dirs): Now just for backward compatibility on
205         Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).
206
207         * glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
208
209         * glib/gutils.c (read_aliases): Not used on Windows.
210         (unalias_lang): Don't do anything on Windows, there is no
211         /usr/share/locale/locale.alias file..
212         
213 Thu Apr  7 22:51:15 2005  <yosh@gimp.org>
214
215         * glib/gutils.c (g_get_system_data_dirs): Declare glib_top_share_dir
216         and exe_top_share_dir only in G_OS_WIN32.
217
218 2005-04-08  Tor Lillqvist  <tml@novell.com>
219
220         * glib/gutils.c (g_get_system_data_dirs): After investigating more
221         closely the actual use cases of this function, I understand better
222         what it needs to do on Windows. In addition to the Windows
223         COMMON_APPDATA and COMMON_DOCUMENTS folders, also return the
224         "share" subfolders of GLib's installation location and the
225         application .exe's installation location, hoping that either
226         matches what the function's caller is looking for.
227
228         * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use wide char API
229         if available, and store dll name in UTF-8.
230
231 2005-04-05  Matthias Clasen  <mclasen@redhat.com>
232
233         * glib/gfileutils.c (get_contents_stdio): Avoid memory 
234         leaks in borderline cases.  (#172612, Morten Welinder)
235
236 2005-04-04  Matthias Clasen  <mclasen@redhat.com>
237
238         * glib/gconvert.c: Clarify docs in some places. (#172404, 
239         Morten Welinder)
240
241 2005-04-03  Matthias Clasen  <mclasen@redhat.com>
242
243         * glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is 
244         defined. This was the pre-2.6 behaviour, and without it,
245         G_IMPLEMENT_INLINES cannot be used in multiple .c files
246         at all.  (#165852, Dave Benson)
247
248 2005-04-01  Matthias Clasen  <mclasen@redhat.com>
249
250         * glib/gmain.c (g_child_watch_source_new): Add a note regarding
251         waitpid(-1).
252         (g_child_watch_source_init_multi_threaded): 
253         (g_child_watch_source_init_single): Don't use SA_RESTART,
254         since it causes problems on at least one platform. (#168352)
255
256 2005-03-30  Steve Murphy  <murf@e-tools.com>
257
258         * configure.in: Added "rw" to ALL_LINGUAS.
259
260 2005-03-30  Sven Neumann  <sven@gimp.org>
261
262         * glib/gfileutils.c (get_contents_stdio): handle the unlikely case
263         that no bytes are read from the file and allocate an empty string.
264
265 2005-03-30  Tor Lillqvist  <tml@novell.com>
266
267         * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Always claim
268         file descriptors open to devices are readable, since we can't
269         know. fstat() doesn't give any useful information. (#145326)
270
271 2005-03-29  Tor Lillqvist  <tml@novell.com>
272
273         * glib/gmain.c (g_poll): [Win32] If the event fired, assign
274         f->revents=f->events. We can't know whether the upper layer using
275         the event actually is readable, writeable or what, so say that all
276         the conditions hold. Remove the ResetEvent() call that has been
277         ifdeffed out anyway for a long time. Remove an "#ifdef 1" and
278         #endif pair of lines, that code is not optional.
279         (g_get_current_time): [Win32] Use GetSystemTimeAsFileTime()
280         instead of time() and GetTickCount(). Much simpler.
281
282 2005-03-28  Matthias Clasen  <mclasen@redhat.com>
283
284         * tests/date-test.c: 
285         * tests/testgdate.c: Add tests for 
286         g_date_get_iso8601_week_of_year().
287
288         * glib/gdate.c (g_date_get_iso8601_week_of_year): 
289         Fix the calculation.  (#169858, Jon-Kare Hellan)
290
291 2005-03-27  Tor Lillqvist  <tml@novell.com>
292
293         * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
294         after all, and in fact necessary with HEAD libtool.
295
296 2005-03-23  Tor Lillqvist  <tml@novell.com>
297
298         * glib/gutils.c (g_getenv): [Win32] Fix corner case bug when
299         environment variable value is exactly one character.
300
301 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
302
303         * glib/glib.symbols: Add g_try_malloc0
304
305         * glib/gmem.h: Add g_try_new, g_try_new0, g_try_renew and
306         g_try_malloc0.  (#169611, Stefan Kost)
307
308         * glib/gmem.c: Implement g_try_malloc0.
309
310 2005-03-20  Tor Lillqvist  <tml@novell.com>
311
312         * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
313         handle if the caller doesn't want it also in the case without a
314         helper process.
315         (g_spawn_sync): Don't ask for a child pid which we don't need.
316
317         * glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
318         of GetTickCount(). (#159507)
319
320         * glib/gmessages.c (g_log_default_handler)
321         * glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
322         program name from the system to g_get_prgname(). Do output the pid
323         also on Win32 (useful in case there are several instances of the
324         same program running).
325
326         * tests/testglib.c (main): Print more detailled output from the
327         timer tests. Don't print home directory twice. Test
328         g_win32_error_message().
329
330         * tests/spawn-test.c (run_tests): On Win32, run netstat instead of
331         ipconfig. On Windows XP collecting output from ipconfig doesn't
332         seem to work for some reason.
333
334 2005-03-18  Hans Breuer  <hans@breuer.org>
335
336         * glib/makefile.msc.in : handle galiasdef.c (although completely 
337         useless for msvc build)
338
339         * glib/gbacktrace.c glib/gmessage.c : need at least _WIN_VER 0x0401
340         for IsDebuggerPresent()
341
342 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
343
344         * glib/gkeyfile.c: Update the documentation, reflecting the
345         fact that the special case for !group_name --> start_group
346         got removed.  (#170566, Tim-Philipp Müller)
347
348 2005-03-15  Matthias Clasen  <mclasen@redhat.com>
349
350         * glib/goption.c (g_option_context_set_main_group): Warn 
351         if there already is a main group.  (#170445, Jeff Franks)
352
353 Sun Mar 13 22:01:17 2005  Manish Singh  <yosh@gimp.org>
354
355         * tests/array-test.c: delete a bunch of dead code.
356
357 Sun Mar 13 21:28:47 2005  Manish Singh  <yosh@gimp.org>
358
359         * glib/gdataset.c: remove spurious IA prefix from g_quark_try_string.
360
361 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
362
363         * glib/gatomic.c:
364         * glib/gcache.c: Small fixes to the previous commit.
365
366 2005-03-13  Matthias Clasen  <mclasen@redhat.com>
367
368         Make PLT-reduction work with gcc4, and don't include
369         everything in galias.h:
370         
371         * glib/glib.symbols: Group symbols by header and source file.
372         * glib/makegalias.pl: Protect definitions by the same 
373         preprocessor symbols used to guard the headers. Move
374         the alias declarations to a separate file which is 
375         produced when calling makegalias.pl -def
376         * glib/Makefile.am (galiasdef.c): Add a rule to generate this
377         file.
378         * glib/*.c: Include galias.h after the other GLib headers,
379         include galiasdef.c at the bottom.
380
381         * glib/glib.symbols: Add g_listenv and g_file_replace.
382
383 Fri Mar 11 23:51:12 2005  Soeren Sandmann  <sandmann@redhat.com>
384
385         * glib/gfileutils.c (write_to_temp_file): Don't try and generate
386         a dotfile from the name -- it doesn't work with absolute
387         paths. Also make documentation indicate that symlinks will be
388         overwritten. Both pointed out by Alexis S. L. Carvalho.
389
390 2005-03-11  Matthias Clasen  <mclasen@redhat.com>
391
392         * m4macros/glib-gettext.m4: Avoid stupid compiler complaints
393         about precision loss.
394
395 2005-03-10  Matthias Clasen  <mclasen@redhat.com>
396
397         * glib/gdate.c: Remove a lot of pointless g_return_if_fail()
398         checks.  (#169859, Morten Welinder)
399
400 2005-03-10  Sven Neumann  <sven@gimp.org>
401
402         * tests/file-test.c: include <gstdio.h>.
403
404 2005-03-10  Sven Neumann  <sven@gimp.org>
405
406         * glib/gfileutils.c (get_contents_stdio): delay memory allocation
407         until after the first read. Saves a bunch of reallocs. Also
408         increased the buffer size to 4096 bytes. (bug #165954)
409
410         * tests/file-test.c (test_get_contents): added a (very basic) test
411         for g_file_get_contents().
412
413 Wed Mar  9 19:06:45 2005  Manish Singh  <yosh@gimp.org>
414
415         * glib/glib.symbols: Add g_file_replace.
416
417 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
418
419         * configure.in: Bump version
420
421 2005-03-09  Sven Neumann  <sven@gimp.org>
422
423         * glib/gfileutils.c (g_file_replace): avoid unnecessary filename
424         conversions.
425
426 2005-03-09  Tor Lillqvist  <tml@novell.com>
427
428         * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir,
429         g_get_user_cache_dir, g_get_system_data_dirs,
430         g_get_system_config_dirs): [Win32] Don't leak return value from
431         get_special_folder(). (#169348, Daniel Atallah) Guard against
432         g_home_dir being NULL, use g_tmp_dir/g_user_name in that case.
433
434 Tue Mar  8 15:46:54 2005  Søren Sandmann  <sandmann@redhat.com>
435
436         * glib/gfileutils.c (g_file_replace): New API. A function to
437         atomically create a file.
438
439 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
440
441         * glib/glib.symbols: Add the new attributes here too.
442
443         * glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
444         (#164706, Marc Meissner)
445
446         * glib/gstrfuncs.h: 
447         * glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
448         appropriate.
449
450         * glib/goption.c (parse_int): Fix an error message.  
451         (#168751, Hazael Maldonado Torres)
452
453 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
454
455         * glib/gdebug.h: Small cleanup (use G_BEGIN/END_DECLS).
456         (#168474, Fabricio Barros Cabral)
457
458 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
459
460         * glib/gutils.c (g_find_program_in_path): Mark the last
461         paragraph of the docs as Windows-specific.  (#169433)
462
463 2005-03-06  Matthias Clasen  <mclasen@redhat.com>
464
465         * glib/gmarkup.c: Add G_GNUC_PRINTF attribute
466         to set_error.
467         (g_markup_parse_context_end_parse): Fix an
468         error message, noticed by Tim Janik.
469
470 2005-02-24  Tor Lillqvist  <tml@novell.com>
471
472         * glib/Makefile.am (BUILT_EXTRA_DIST): Don't distribute
473         glib.def. (#167496, J. Ali Harlow)
474
475         * glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
476         Daniel Atallah)
477
478 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
479
480         * configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD 
481         on non-linux platforms.  (#168177, Michael Banck)
482
483         * tests/keyfile-test.c (test_locale_string): Set LANGUAGE 
484         instead of LC_ALL to shield against LANGUAGE being set in 
485         the environment.  (#168311, Suren A. Chilingaryan)
486
487 Tue Feb 22 22:03:38 2005  Manish Singh  <yosh@gimp.org>
488
489         * glib/gstdio.h: On G_OS_UNIX, simple #define g_open and co. as
490         aliases for their respective C library functions, instead of
491         using the function wrappers. This avoids library users having to
492         care about matching large file support with whatever glib has been
493         built with. Fixes bug #167942.
494
495         * glib/gstdio.c
496         * glib/abicheck.sh
497         * glib/glib.symbols
498         * glib/makegalias.pl: Logic to make the gstdio wrappers still
499         available for compatibility, but not used in new code.
500
501 Tue Feb 22 18:33:07 2005  Manish Singh  <yosh@gimp.org>
502
503         * glib/gtimer.c (g_usleep): Simplify the loop for the fix below.
504
505 2005-02-20  Matthias Clasen  <mclasen@redhat.com>
506
507         * glib/gqueue.c (g_queue_new): Use a memchunk for
508         sizeof(GQueue)-sized chunks.  (#167984, Fabrício Barros Cabral)
509
510         * glib/gtimer.c (g_usleep): Fix usage of 
511         nanosleep().  (#163039, Bastien Nocera)
512
513 2005-02-16  Adi Attar  <aattar@cvs.gnome.org>
514
515         * configure.in: Added "xh" to ALL_LINGUAS.
516
517 2005-02-11  Tor Lillqvist  <tml@novell.com>
518
519         * glib/giowin32.c: Include winsock2.h before windows.h, to avoid
520         compilation errors with MSVC. (#167105)
521
522 2005-02-10  Matthias Clasen  <mclasen@redhat.com>
523
524         * glib/goption.c (print_help): Take main group options into
525         account when calculating column size.  (#166921)
526         (g_option_context_parse): Accept -? as documented.  (#166977)
527
528 2005-02-09  Matthias Clasen  <mclasen@redhat.com>
529         * glib/gkeyfile.c (find_file_in_data_dirs): Don't leak path
530         here.  (#166801, Kjartan Maraas)
531
532 2005-02-08  Matthias Clasen  <mclasen@redhat.com>
533
534         * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
535         write out of bounds.
536
537         * glib/goption.c (g_option_context_parse): Fix a 
538         one-too-short memory allocation.  (#166609, Nicolas Laurent)
539
540         * tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
541         MALLOC_CHECK_.
542
543         * tests/option-test.c: Add a test for unkown short options.
544
545 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
546
547         * glib/glib.symbols: 
548         * glib/gutils.h: 
549         * glib/gutils.c (g_listenv): New function to list all 
550         environment variables.  (#166327, Hans Petter Jansson)
551
552 2005-02-07  Tor Lillqvist  <tml@novell.com>
553
554         * glib-zip.in: Add gmodule-no-export-2.0.pc.
555
556 Sun Feb  6 21:59:09 2005  Manish Singh  <yosh@gimp.org>
557
558         * glib/abicheck.sh: feed the contents of config.h and glibconfig.h
559         into the preprocessor, since glib.symbols could need #defines
560         from them.
561
562 Sun Feb  6 12:09:55 2005  Manish Singh  <yosh@gimp.org>
563
564         * glib/gatomic.c: Don't use matching constraints for asm mem
565         parameters. This makes the code match with current glibc, and
566         quiets some warnings with gcc 3.4.
567
568 2005-02-05  Tor Lillqvist  <tml@novell.com>
569
570         * configure.in (G_LIBS_EXTRA)
571         * glib/giowin32.c: I think we can include <winsock2.h> and link
572         with -lws2_32. Only Windows 95 originally didn't have Winsock 2,
573         and it's available as an update for it. Not that we use any actual
574         Winsock 2 -only features, but still, simpler to link directly with
575         ws2_32.dll instead of going through wsock32.dll.
576
577         * glib/gfileutils.c (g_file_get_contents): In the Win32 ABI
578         stability version, call g_file_get_contents_utf8(), not
579         itself. (#166386, Bill Skaggs)
580
581 2005-02-04  Matthias Clasen  <mclasen@redhat.com>
582
583         * configure.in: Remove the --enable-ansi option  (#160469)
584
585         * configure.in: Define a HAVE_GNUC_VISIBILITY automake
586         conditional.
587
588         * glib/Makefile.am (TESTS): Only check the abi if
589         the compiler supports visibility, otherwise we
590         know there will be (harmless) extra symbols.  
591         (#166181, Ed Avis)
592
593 2005-02-02  Tor Lillqvist  <tml@novell.com>
594
595         * glib/gwin32.h: Remove unnecessary MSVC-only typedef for
596         pid_t. (#165910) GLib does not pretend to be a POSIX emulation
597         library.
598
599         * glib/gstdio.c: In the Win32 part of all functions, handle
600         invalid UTF-8 more robustly. Don't pass the resulting NULL
601         wide-char or codepage strings on to C library functions, but bail
602         out early. (#166084)
603
604         * glib/gfileutils.c: Don't use potentially incorrect errno in
605         several places. (#165951)
606         (g_mkstemp): Set errno appropriately.
607
608 2005-02-02  Matthias Clasen  <mclasen@redhat.com>
609
610         * glib/gutils.c: Move doc comments inline.
611
612         * glib/ghash.h: Adjust some argument names.
613
614         * configure.in: Give meaningful names to g_memmove() 
615         arguments.
616
617 2005-02-01  Matthias Clasen  <mclasen@redhat.com>
618
619         * tests/keyfile-test.c (test_key_remove): Add test case for
620         key removal.
621
622         * glib/gkeyfile.c (g_key_file_remove_key): Actually remove 
623         the key from the list of pairs.  (#165980, David Hoover)
624
625         * glib/gkeyfile.c: Doc clarifications.  (#165907, Vincent Untz)
626
627         * tests/keyfile-test.c (test_group_remove): Add test case for
628         group removal.
629
630         * glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
631         if the group doesn't exist.  (#165887, Mathias Hasselmann)
632
633 2005-01-30  Matthias Clasen  <mclasen@redhat.com>
634
635         * tests/keyfile-test.c: Some more unit tests.
636
637 2005-01-28  Christian Rose  <menthos@menthos.com>
638
639         * configure.in: Added "tl" to ALL_LINGUAS.
640
641 2005-01-24  Matthias Clasen  <mclasen@redhat.com>
642
643         * tests/run-markup-tests.sh: Let $srcdir default to .
644
645         * tests/markups/fail-40.gmarkup: Add a test with a long entity
646         name.
647
648         * glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
649         copy the entity name into a short buffer of fixed length. Instead,
650         compare it in place with strncmp(), and do a full strdup() in the
651         error path.  (#165100, Simon Budig)
652
653 2005-01-22  Tor Lillqvist  <tml@novell.com>
654
655         * glib/gdate.c (g_date_set_time): Don't g_assert that localtime()
656         returns non-NULL. It does return NULL at least on Win32 if you
657         pass it a negative time_t, which although wrong, shouldn't cause
658         an application to abort. Instead return 2000-01-01 as a default
659         date. Print a warning unless G_DISABLE_CHECKS. (#164622)
660
661 2005-01-20  Matthias Clasen  <mclasen@redhat.com>
662
663         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Don't
664         interpret leading zeros as octal. The specification requires
665         %f parsing, and %f doesn't allow octal.  
666
667         * tests/keyfile-test.c: Add some more tests.
668
669         * glib/gkeyfile.c (g_key_file_get_keys): Return keys in
670         the order found in the file, rather than the opposite.
671         (g_key_file_parse_value_as_string): Fix error reporting.
672
673 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
674
675         * glib/gkeyfile.c (g_key_file_parse_data): Accept \r\n as 
676         line end.  (#163030, Bastian Nocera)
677         (g_key_file_load_from_data): Make -1 work as a size.
678         
679         * tests/keyfile-test.c: Some unit tests for the keyfile
680         parser.  
681
682         * tests/Makefile.am (test_programs): Add keyfile-test.
683
684 2005-01-19  Tor Lillqvist  <tml@novell.com>
685
686         * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call
687         G_BREAKPOINT() if being debugged.
688
689         * glib/gmessages.c (g_logv): For fatal messages on Win32, use
690         G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being
691         debugged. Suggestion by Ulf Lamping.
692
693 2005-01-18  Matthias Clasen  <mclasen@redhat.com>
694
695         * glib/gqsort.c: Don't include alloca.h. It is not needed,
696         and does not exist on win32.  (#164468, Kazuki IWAMOTO)
697
698         * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a
699         sparse warning.  (#164467, Kjartan Maraas)
700
701 2005-01-17  Matthias Clasen  <mclasen@redhat.com>
702
703         * glib/gconvert.c (g_get_filename_charsets): Don't crash
704         if G_FILENAME_ENCODING is empty.  (#164330, Pawel Sakowski)
705
706 2005-01-15  Tor Lillqvist  <tlillqvist@novell.com>
707
708         * configure.in: sh portability fix. Use "test" and not [.
709         (#163144, Robert Ögren)
710
711 2005-01-13  Matthias Clasen  <mclasen@redhat.com>
712
713         * glib/gqsort.c: Sync to glibc.  (#133994, Morten Welinder, 
714         patch by Kjartan Maraas)
715
716 2005-01-11  Owen Taylor <otaylor@redhat.com>
717
718         * configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
719
720         * glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
721         Use grep | head -n 1 instead of grep -m 1 which doesn't work
722         with slightly older versions of GNU grep in 
723         install-libtool-import-lib rule.
724
725 2005-01-11  Matthias Clasen  <mclasen@redhat.com>
726
727         * glib/gdir.c (g_dir_open): Typo fix.
728
729 2005-01-10  Owen Taylor  <otaylor@redhat.com>
730
731         * Makefile.am (EXTRA_DIST): Add missing ChangeLog.pre*
732
733 2005-01-09  Hans Breuer  <hans@breuer.org>
734
735         * glib/gfileutils.c : make it compile with mvc6 default sdk,
736         (#define INVALID_FILE_ATTRIBUTES, FILE_ATTRIBUTE_DEVICE)
737
738 2005-01-09  Tor Lillqvist  <tlillqvist@novell.com>
739
740         * glib/gwin32.c: Include also wchar.h for wcslen on
741         Cygwin.
742         (g_win32_error_message): Fix cast. (#163133, Roger Leigh)
743
744         * glib/gfileutils.c: Include <io.h> on Windows for
745         prototypes. (#163390, Kazuki Iwamoto)
746
747 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
748
749         * NEWS: Typo fixes.
750
751         * configure.in: Bump version
752
753         * === Released 2.6.1 ===
754
755 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
756
757         * configure.in: 
758         * Makefile.am: Generate and distribute gmodule-export-2.0.pc,
759         which is currently just a copy of gmodule-2.0.pc, but makes
760         it explicit that it adds --export-dynamic.
761         
762         * gmodule-export-2.0.pc.in: Copy of gmodule-2.0.pc.in.
763
764 2005-01-06  Tor Lillqvist  <tml@iki.fi>
765
766         * glib/Makefile.am
767         * gobject/Makefile.am: glib.def and gobject.def are generated, not
768         in $(srcdir). (#163143, J. Ali Harlow)
769
770         * configure.in
771         * glib/Makefile.am
772         * gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
773         J. Ali Harlow)
774
775 2005-01-05  Matthias Clasen  <mclasen@redhat.com>
776
777         * glib/gutils.h: Simplify the inlining magic to make it
778         work at Oh zero.  (#162990, Kalpesh Shah) 
779
780 2005-01-04  Tor Lillqvist  <tml@iki.fi>
781
782         * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
783         instead of setlocale() on Windows. setlocale() returns strings
784         like "Turkish_Turkey".
785
786 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
787
788         Fix the inlining magic.  (#157536, Jens Hatlak, and
789         #149907, Morten Welinder)
790         
791         * configure.in: Define G_CAN_INLINE in glibconfig.h
792
793         * glib/gutils.h: Streamline the inlining magic a bit,
794         don't use extern when implementing the non-inlined 
795         version.
796
797 2005-01-03  Matthias Clasen  <mclasen@redhat.com>
798
799         * glib/gutils.c (g_find_program_in_path): Don't return
800         directories.  (#160738, Tommi Komulainen)
801
802         * glib/gfileutils.c (g_file_get_contents): Clarify the 
803         documentation.  (#162251, Mariano Suárez-Alvarez)
804
805 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
806
807         * glib/gutils.c (g_setenv, g_unsetenv): Clarify the 
808         docs.  (#162747, Crispin Flowerday)
809
810 2005-01-01  J. Ali Harlow  <ali@juiblex.co.uk>
811
812         * configure.in: Don't use AC_TRY_RUN to test for long long format
813         when using the MSVCRT.DLL runtime since we know the answer anyway
814         and it causes some mild inconvience when cross compiling.
815
816         * README.win32: Add a reference to the cross compiling section
817         of the reference manual.
818
819         * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
820         requires %I64i instead of %lli. (#161306)
821
822 2005-01-01  Tor Lillqvist  <tml@iki.fi>
823
824         * glib/gutils.c: Make the g_getenv() ABI backward compatibility
825         wrapper more robust.
826
827 2005-01-01  Tor Lillqvist  <tml@iki.fi>
828
829         * glib/glib.symbols
830         * glib/gutils.h
831         * glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
832         and g_find_program_in_path() take and return UTF-8 strings on
833         Win32. Implement DLL ABI backward compatility for them, too. Move
834         all the DLL ABI stability wrappers to the end of the file. Use
835         wide character API when available in inner_find_program_in_path().
836
837         * glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
838         use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
839         to consider somebody actually having anything else than ASCII
840         in PATHEXT, but...)
841
842 2004-12-31  Tor Lillqvist  <tml@iki.fi>
843
844         * glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
845         use GetFileAttributes() instead of stat(). stat() is unreliable
846         for corner cases like '\\server\share' or '.\'. Part of fixing
847         #161797. When testing for executability, in addition to the fixed
848         set of executable file name extensions also check the PATHEXT
849         environment variable.
850
851 2004-12-30  Tor Lillqvist  <tml@iki.fi>
852
853         * glib/gutils.c (g_get_current_dir): In the Win32 version, use
854         GetCurrentDirectory() directly for simpler buffer length
855         management. I don't trust getcwd() getting it right all the time.
856
857 2004-12-30  Matthias Clasen  <mclasen@redhat.com>
858
859         * glib/gfileutils.c (g_file_test): Typo fix.
860
861 2004-12-30  Tor Lillqvist  <tml@iki.fi>
862
863         * glib/gutils.c (g_path_skip_root): Require UNC paths to start
864         with exactly two slashes.
865         (g_get_current_dir): Use wide character API when available.
866         (g_path_get_dirname): Handle UNC paths better. Part of fix for
867         #161797.
868
869 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
870
871         * configure.in: Add an OS_LINUX conditional.
872
873         * glib/Makefile.am (TESTS): Only check the ABI on 
874         linux, since the shell script is not portable, and libtool
875         deficiencies may distort the ABI on other platforms.  (#161741)
876
877 2004-12-21  Matthias Clasen  <mclasen@redhat.com>
878
879         * glib/goption.c (print_entry): Don't show
880         the special G_OPTION_REMAINING entry.  (#161934,
881         Matthew F. Barnes)
882
883 2004-12-20  Tor Lillqvist  <tml@iki.fi>
884
885         * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
886         docs.
887
888 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
889
890         * tests/option-test.c: Add some tests for '--' 
891         stripping.
892
893         * glib/goption.c (g_option_context_parse): Don't
894         strip '--' if it would be needed by a second option
895         parser.  (#161701)
896
897         * glib/gunicollate.c (g_utf8_collate): Make docs 
898         more accurate.  (#161683, Marcin Krzyzanowski)
899
900 2004-12-19  Matthias Clasen  <mclasen@redhat.com>
901
902         * glib/goption.c (g_option_context_parse): Call
903         post-parse hooks also if argv is NULL.  (#161668,
904         Marcin Krzyzanowski)
905