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