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