delay memory allocation until after the first read. Saves a bunch of
[platform/upstream/glib.git] / ChangeLog.pre-2-8
1 2005-03-10  Sven Neumann  <sven@gimp.org>
2
3         * glib/gfileutils.c (get_contents_stdio): delay memory allocation
4         until after the first read. Saves a bunch of reallocs. Also
5         increased the buffer size to 4096 bytes. (bug #165954)
6
7         * tests/file-test.c (test_get_contents): added a (very basic) test
8         for g_file_get_contents().
9
10 Wed Mar  9 19:06:45 2005  Manish Singh  <yosh@gimp.org>
11
12         * glib/glib.symbols: Add g_file_replace.
13
14 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
15
16         * configure.in: Bump version
17
18 2005-03-09  Sven Neumann  <sven@gimp.org>
19
20         * glib/gfileutils.c (g_file_replace): avoid unnecessary filename
21         conversions.
22
23 2005-03-09  Tor Lillqvist  <tml@novell.com>
24
25         * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir,
26         g_get_user_cache_dir, g_get_system_data_dirs,
27         g_get_system_config_dirs): [Win32] Don't leak return value from
28         get_special_folder(). (#169348, Daniel Atallah) Guard against
29         g_home_dir being NULL, use g_tmp_dir/g_user_name in that case.
30
31 Tue Mar  8 15:46:54 2005  Søren Sandmann  <sandmann@redhat.com>
32
33         * glib/gfileutils.c (g_file_replace): New API. A function to
34         atomically create a file.
35
36 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
37
38         * glib/glib.symbols: Add the new attributes here too.
39
40         * glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
41         (#164706, Marc Meissner)
42
43         * glib/gstrfuncs.h: 
44         * glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
45         appropriate.
46
47         * glib/goption.c (parse_int): Fix an error message.  
48         (#168751, Hazael Maldonado Torres)
49
50 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
51
52         * glib/gdebug.h: Small cleanup (use G_BEGIN/END_DECLS).
53         (#168474, Fabricio Barros Cabral)
54
55 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
56
57         * glib/gutils.c (g_find_program_in_path): Mark the last
58         paragraph of the docs as Windows-specific.  (#169433)
59
60 2005-03-06  Matthias Clasen  <mclasen@redhat.com>
61
62         * glib/gmarkup.c: Add G_GNUC_PRINTF attribute
63         to set_error.
64         (g_markup_parse_context_end_parse): Fix an
65         error message, noticed by Tim Janik.
66
67 2005-02-24  Tor Lillqvist  <tml@novell.com>
68
69         * glib/Makefile.am (BUILT_EXTRA_DIST): Don't distribute
70         glib.def. (#167496, J. Ali Harlow)
71
72         * glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
73         Daniel Atallah)
74
75 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
76
77         * configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD 
78         on non-linux platforms.  (#168177, Michael Banck)
79
80         * tests/keyfile-test.c (test_locale_string): Set LANGUAGE 
81         instead of LC_ALL to shield against LANGUAGE being set in 
82         the environment.  (#168311, Suren A. Chilingaryan)
83
84 Tue Feb 22 22:03:38 2005  Manish Singh  <yosh@gimp.org>
85
86         * glib/gstdio.h: On G_OS_UNIX, simple #define g_open and co. as
87         aliases for their respective C library functions, instead of
88         using the function wrappers. This avoids library users having to
89         care about matching large file support with whatever glib has been
90         built with. Fixes bug #167942.
91
92         * glib/gstdio.c
93         * glib/abicheck.sh
94         * glib/glib.symbols
95         * glib/makegalias.pl: Logic to make the gstdio wrappers still
96         available for compatibility, but not used in new code.
97
98 Tue Feb 22 18:33:07 2005  Manish Singh  <yosh@gimp.org>
99
100         * glib/gtimer.c (g_usleep): Simplify the loop for the fix below.
101
102 2005-02-20  Matthias Clasen  <mclasen@redhat.com>
103
104         * glib/gqueue.c (g_queue_new): Use a memchunk for
105         sizeof(GQueue)-sized chunks.  (#167984, Fabrício Barros Cabral)
106
107         * glib/gtimer.c (g_usleep): Fix usage of 
108         nanosleep().  (#163039, Bastien Nocera)
109
110 2005-02-16  Adi Attar  <aattar@cvs.gnome.org>
111
112         * configure.in: Added "xh" to ALL_LINGUAS.
113
114 2005-02-11  Tor Lillqvist  <tml@novell.com>
115
116         * glib/giowin32.c: Include winsock2.h before windows.h, to avoid
117         compilation errors with MSVC. (#167105)
118
119 2005-02-10  Matthias Clasen  <mclasen@redhat.com>
120
121         * glib/goption.c (print_help): Take main group options into
122         account when calculating column size.  (#166921)
123         (g_option_context_parse): Accept -? as documented.  (#166977)
124
125 2005-02-09  Matthias Clasen  <mclasen@redhat.com>
126         * glib/gkeyfile.c (find_file_in_data_dirs): Don't leak path
127         here.  (#166801, Kjartan Maraas)
128
129 2005-02-08  Matthias Clasen  <mclasen@redhat.com>
130
131         * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
132         write out of bounds.
133
134         * glib/goption.c (g_option_context_parse): Fix a 
135         one-too-short memory allocation.  (#166609, Nicolas Laurent)
136
137         * tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
138         MALLOC_CHECK_.
139
140         * tests/option-test.c: Add a test for unkown short options.
141
142 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
143
144         * glib/glib.symbols: 
145         * glib/gutils.h: 
146         * glib/gutils.c (g_listenv): New function to list all 
147         environment variables.  (#166327, Hans Petter Jansson)
148
149 2005-02-07  Tor Lillqvist  <tml@novell.com>
150
151         * glib-zip.in: Add gmodule-no-export-2.0.pc.
152
153 Sun Feb  6 21:59:09 2005  Manish Singh  <yosh@gimp.org>
154
155         * glib/abicheck.sh: feed the contents of config.h and glibconfig.h
156         into the preprocessor, since glib.symbols could need #defines
157         from them.
158
159 Sun Feb  6 12:09:55 2005  Manish Singh  <yosh@gimp.org>
160
161         * glib/gatomic.c: Don't use matching constraints for asm mem
162         parameters. This makes the code match with current glibc, and
163         quiets some warnings with gcc 3.4.
164
165 2005-02-05  Tor Lillqvist  <tml@novell.com>
166
167         * configure.in (G_LIBS_EXTRA)
168         * glib/giowin32.c: I think we can include <winsock2.h> and link
169         with -lws2_32. Only Windows 95 originally didn't have Winsock 2,
170         and it's available as an update for it. Not that we use any actual
171         Winsock 2 -only features, but still, simpler to link directly with
172         ws2_32.dll instead of going through wsock32.dll.
173
174         * glib/gfileutils.c (g_file_get_contents): In the Win32 ABI
175         stability version, call g_file_get_contents_utf8(), not
176         itself. (#166386, Bill Skaggs)
177
178 2005-02-04  Matthias Clasen  <mclasen@redhat.com>
179
180         * configure.in: Remove the --enable-ansi option  (#160469)
181
182         * configure.in: Define a HAVE_GNUC_VISIBILITY automake
183         conditional.
184
185         * glib/Makefile.am (TESTS): Only check the abi if
186         the compiler supports visibility, otherwise we
187         know there will be (harmless) extra symbols.  
188         (#166181, Ed Avis)
189
190 2005-02-02  Tor Lillqvist  <tml@novell.com>
191
192         * glib/gwin32.h: Remove unnecessary MSVC-only typedef for
193         pid_t. (#165910) GLib does not pretend to be a POSIX emulation
194         library.
195
196         * glib/gstdio.c: In the Win32 part of all functions, handle
197         invalid UTF-8 more robustly. Don't pass the resulting NULL
198         wide-char or codepage strings on to C library functions, but bail
199         out early. (#166084)
200
201         * glib/gfileutils.c: Don't use potentially incorrect errno in
202         several places. (#165951)
203         (g_mkstemp): Set errno appropriately.
204
205 2005-02-02  Matthias Clasen  <mclasen@redhat.com>
206
207         * glib/gutils.c: Move doc comments inline.
208
209         * glib/ghash.h: Adjust some argument names.
210
211         * configure.in: Give meaningful names to g_memmove() 
212         arguments.
213
214 2005-02-01  Matthias Clasen  <mclasen@redhat.com>
215
216         * tests/keyfile-test.c (test_key_remove): Add test case for
217         key removal.
218
219         * glib/gkeyfile.c (g_key_file_remove_key): Actually remove 
220         the key from the list of pairs.  (#165980, David Hoover)
221
222         * glib/gkeyfile.c: Doc clarifications.  (#165907, Vincent Untz)
223
224         * tests/keyfile-test.c (test_group_remove): Add test case for
225         group removal.
226
227         * glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
228         if the group doesn't exist.  (#165887, Mathias Hasselmann)
229
230 2005-01-30  Matthias Clasen  <mclasen@redhat.com>
231
232         * tests/keyfile-test.c: Some more unit tests.
233
234 2005-01-28  Christian Rose  <menthos@menthos.com>
235
236         * configure.in: Added "tl" to ALL_LINGUAS.
237
238 2005-01-24  Matthias Clasen  <mclasen@redhat.com>
239
240         * tests/run-markup-tests.sh: Let $srcdir default to .
241
242         * tests/markups/fail-40.gmarkup: Add a test with a long entity
243         name.
244
245         * glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
246         copy the entity name into a short buffer of fixed length. Instead,
247         compare it in place with strncmp(), and do a full strdup() in the
248         error path.  (#165100, Simon Budig)
249
250 2005-01-22  Tor Lillqvist  <tml@novell.com>
251
252         * glib/gdate.c (g_date_set_time): Don't g_assert that localtime()
253         returns non-NULL. It does return NULL at least on Win32 if you
254         pass it a negative time_t, which although wrong, shouldn't cause
255         an application to abort. Instead return 2000-01-01 as a default
256         date. Print a warning unless G_DISABLE_CHECKS. (#164622)
257
258 2005-01-20  Matthias Clasen  <mclasen@redhat.com>
259
260         * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Don't
261         interpret leading zeros as octal. The specification requires
262         %f parsing, and %f doesn't allow octal.  
263
264         * tests/keyfile-test.c: Add some more tests.
265
266         * glib/gkeyfile.c (g_key_file_get_keys): Return keys in
267         the order found in the file, rather than the opposite.
268         (g_key_file_parse_value_as_string): Fix error reporting.
269
270 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
271
272         * glib/gkeyfile.c (g_key_file_parse_data): Accept \r\n as 
273         line end.  (#163030, Bastian Nocera)
274         (g_key_file_load_from_data): Make -1 work as a size.
275         
276         * tests/keyfile-test.c: Some unit tests for the keyfile
277         parser.  
278
279         * tests/Makefile.am (test_programs): Add keyfile-test.
280
281 2005-01-19  Tor Lillqvist  <tml@novell.com>
282
283         * glib/gbacktrace.c (g_on_error_stack_trace): On Win32 call
284         G_BREAKPOINT() if being debugged.
285
286         * glib/gmessages.c (g_logv): For fatal messages on Win32, use
287         G_BREAKPOINT() also without G_ENABLE_DEBUG, but only if being
288         debugged. Suggestion by Ulf Lamping.
289
290 2005-01-18  Matthias Clasen  <mclasen@redhat.com>
291
292         * glib/gqsort.c: Don't include alloca.h. It is not needed,
293         and does not exist on win32.  (#164468, Kazuki IWAMOTO)
294
295         * glib/gkeyfile.c (g_key_file_get_boolean_list): Fix a
296         sparse warning.  (#164467, Kjartan Maraas)
297
298 2005-01-17  Matthias Clasen  <mclasen@redhat.com>
299
300         * glib/gconvert.c (g_get_filename_charsets): Don't crash
301         if G_FILENAME_ENCODING is empty.  (#164330, Pawel Sakowski)
302
303 2005-01-15  Tor Lillqvist  <tlillqvist@novell.com>
304
305         * configure.in: sh portability fix. Use "test" and not [.
306         (#163144, Robert Ögren)
307
308 2005-01-13  Matthias Clasen  <mclasen@redhat.com>
309
310         * glib/gqsort.c: Sync to glibc.  (#133994, Morten Welinder, 
311         patch by Kjartan Maraas)
312
313 2005-01-11  Owen Taylor <otaylor@redhat.com>
314
315         * configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
316
317         * glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
318         Use grep | head -n 1 instead of grep -m 1 which doesn't work
319         with slightly older versions of GNU grep in 
320         install-libtool-import-lib rule.
321
322 2005-01-11  Matthias Clasen  <mclasen@redhat.com>
323
324         * glib/gdir.c (g_dir_open): Typo fix.
325
326 2005-01-10  Owen Taylor  <otaylor@redhat.com>
327
328         * Makefile.am (EXTRA_DIST): Add missing ChangeLog.pre*
329
330 2005-01-09  Hans Breuer  <hans@breuer.org>
331
332         * glib/gfileutils.c : make it compile with mvc6 default sdk,
333         (#define INVALID_FILE_ATTRIBUTES, FILE_ATTRIBUTE_DEVICE)
334
335 2005-01-09  Tor Lillqvist  <tlillqvist@novell.com>
336
337         * glib/gwin32.c: Include also wchar.h for wcslen on
338         Cygwin.
339         (g_win32_error_message): Fix cast. (#163133, Roger Leigh)
340
341         * glib/gfileutils.c: Include <io.h> on Windows for
342         prototypes. (#163390, Kazuki Iwamoto)
343
344 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
345
346         * NEWS: Typo fixes.
347
348         * configure.in: Bump version
349
350         * === Released 2.6.1 ===
351
352 2005-01-07  Matthias Clasen  <mclasen@redhat.com>
353
354         * configure.in: 
355         * Makefile.am: Generate and distribute gmodule-export-2.0.pc,
356         which is currently just a copy of gmodule-2.0.pc, but makes
357         it explicit that it adds --export-dynamic.
358         
359         * gmodule-export-2.0.pc.in: Copy of gmodule-2.0.pc.in.
360
361 2005-01-06  Tor Lillqvist  <tml@iki.fi>
362
363         * glib/Makefile.am
364         * gobject/Makefile.am: glib.def and gobject.def are generated, not
365         in $(srcdir). (#163143, J. Ali Harlow)
366
367         * configure.in
368         * glib/Makefile.am
369         * gobject/Makefile.am: Win32 cross-compilation fixes. (#163144,
370         J. Ali Harlow)
371
372 2005-01-05  Matthias Clasen  <mclasen@redhat.com>
373
374         * glib/gutils.h: Simplify the inlining magic to make it
375         work at Oh zero.  (#162990, Kalpesh Shah) 
376
377 2005-01-04  Tor Lillqvist  <tml@iki.fi>
378
379         * glib/guniprop.c (get_locale_type): Use g_win32_getlocale()
380         instead of setlocale() on Windows. setlocale() returns strings
381         like "Turkish_Turkey".
382
383 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
384
385         Fix the inlining magic.  (#157536, Jens Hatlak, and
386         #149907, Morten Welinder)
387         
388         * configure.in: Define G_CAN_INLINE in glibconfig.h
389
390         * glib/gutils.h: Streamline the inlining magic a bit,
391         don't use extern when implementing the non-inlined 
392         version.
393
394 2005-01-03  Matthias Clasen  <mclasen@redhat.com>
395
396         * glib/gutils.c (g_find_program_in_path): Don't return
397         directories.  (#160738, Tommi Komulainen)
398
399         * glib/gfileutils.c (g_file_get_contents): Clarify the 
400         documentation.  (#162251, Mariano Suárez-Alvarez)
401
402 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
403
404         * glib/gutils.c (g_setenv, g_unsetenv): Clarify the 
405         docs.  (#162747, Crispin Flowerday)
406
407 2005-01-01  J. Ali Harlow  <ali@juiblex.co.uk>
408
409         * configure.in: Don't use AC_TRY_RUN to test for long long format
410         when using the MSVCRT.DLL runtime since we know the answer anyway
411         and it causes some mild inconvience when cross compiling.
412
413         * README.win32: Add a reference to the cross compiling section
414         of the reference manual.
415
416         * docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
417         requires %I64i instead of %lli. (#161306)
418
419 2005-01-01  Tor Lillqvist  <tml@iki.fi>
420
421         * glib/gutils.c: Make the g_getenv() ABI backward compatibility
422         wrapper more robust.
423
424 2005-01-01  Tor Lillqvist  <tml@iki.fi>
425
426         * glib/glib.symbols
427         * glib/gutils.h
428         * glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
429         and g_find_program_in_path() take and return UTF-8 strings on
430         Win32. Implement DLL ABI backward compatility for them, too. Move
431         all the DLL ABI stability wrappers to the end of the file. Use
432         wide character API when available in inner_find_program_in_path().
433
434         * glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
435         use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
436         to consider somebody actually having anything else than ASCII
437         in PATHEXT, but...)
438
439 2004-12-31  Tor Lillqvist  <tml@iki.fi>
440
441         * glib/gfileutils.c (g_file_test): Rewrite the Win32 version to
442         use GetFileAttributes() instead of stat(). stat() is unreliable
443         for corner cases like '\\server\share' or '.\'. Part of fixing
444         #161797. When testing for executability, in addition to the fixed
445         set of executable file name extensions also check the PATHEXT
446         environment variable.
447
448 2004-12-30  Tor Lillqvist  <tml@iki.fi>
449
450         * glib/gutils.c (g_get_current_dir): In the Win32 version, use
451         GetCurrentDirectory() directly for simpler buffer length
452         management. I don't trust getcwd() getting it right all the time.
453
454 2004-12-30  Matthias Clasen  <mclasen@redhat.com>
455
456         * glib/gfileutils.c (g_file_test): Typo fix.
457
458 2004-12-30  Tor Lillqvist  <tml@iki.fi>
459
460         * glib/gutils.c (g_path_skip_root): Require UNC paths to start
461         with exactly two slashes.
462         (g_get_current_dir): Use wide character API when available.
463         (g_path_get_dirname): Handle UNC paths better. Part of fix for
464         #161797.
465
466 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
467
468         * configure.in: Add an OS_LINUX conditional.
469
470         * glib/Makefile.am (TESTS): Only check the ABI on 
471         linux, since the shell script is not portable, and libtool
472         deficiencies may distort the ABI on other platforms.  (#161741)
473
474 2004-12-21  Matthias Clasen  <mclasen@redhat.com>
475
476         * glib/goption.c (print_entry): Don't show
477         the special G_OPTION_REMAINING entry.  (#161934,
478         Matthew F. Barnes)
479
480 2004-12-20  Tor Lillqvist  <tml@iki.fi>
481
482         * glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
483         docs.
484
485 2004-12-20  Matthias Clasen  <mclasen@redhat.com>
486
487         * tests/option-test.c: Add some tests for '--' 
488         stripping.
489
490         * glib/goption.c (g_option_context_parse): Don't
491         strip '--' if it would be needed by a second option
492         parser.  (#161701)
493
494         * glib/gunicollate.c (g_utf8_collate): Make docs 
495         more accurate.  (#161683, Marcin Krzyzanowski)
496
497 2004-12-19  Matthias Clasen  <mclasen@redhat.com>
498
499         * glib/goption.c (g_option_context_parse): Call
500         post-parse hooks also if argv is NULL.  (#161668,
501         Marcin Krzyzanowski)
502