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