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