1 2001-05-15 Havoc Pennington <hp@redhat.com>
3 * configure.in (AC_OUTPUT): m4macros/Makefile
5 * m4macros/Makefile.am, m4macros/glib-2.0.m4,
6 m4macros/glib-gettext.m4:
7 m4 files moved here on server, Makefile.am added
9 This is so you can aclocal -I m4macros while avoiding acinclude.m4
11 * Makefile.am: add m4macros subdir, remove references to glib-2.0.m4
13 2001-05-14 Havoc Pennington <hp@redhat.com>
15 * gutf8.c (g_utf8_get_char): fix docs; they said we validated
16 the UTF-8, but we can't possibly detect partial chars since
17 there's no length arg here, so trying to use this function
18 on invalid UTF-8 is a bad idea.
20 Thu May 10 23:21:30 2001 Owen Taylor <otaylor@redhat.com>
22 * gmessages.c (g_log_write_prefix): Avoid using stderr
23 to be as robust as possible in out-of-memory.
25 * gmessages.c (g_log_default_handler): Remove some dead
28 * gutils.c (g_parse_debug_string): Fix to avoid mallocs.
30 Fri May 11 18:25:23 2001 Tim Janik <timj@gtk.org>
34 (g_datalist_foreach): make these safe against removal of the
37 2001-05-10 Havoc Pennington <hp@pobox.com>
39 * gmessages.c (g_log_write_prefix): change env variable to
40 G_MESSAGES_PREFIXED, suggested by Tim
42 Thu May 10 15:19:01 2001 Tim Janik <timj@gtk.org>
44 * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm
47 * gmem.c (standard_calloc): free() doesn't return a value
50 2001-04-26 Havoc Pennington <hp@redhat.com>
52 * configure.in: Get rid of --enable-msg-prefix
54 * gmessages.c: make whether to prefix the messages with
55 appname/pid a runtime setting, not a compile-time setting. Change
56 default to include prefix for debug/warning/error type messages.
58 2001-05-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
60 * gthread.c, gthread.h: Renamed 'value' and 'arg' to 'data' and
61 'thread_func' to 'func' to make it more consistent with the rest
64 * gthreadpool.c, gthreadpool.h: Moved 'stack_size' from the public
65 members of GThreadPool to the private ones. Renamed 'thread_func'
66 to 'func' as above. Moved up 'user_data' in g_thead_pool_new
67 argument list and in GThreadPool struct.
69 Tue May 8 15:33:31 2001 Tim Janik <timj@gtk.org>
71 * gcompletion.h: removed #include <unistd.h> sneaked in by
74 2001-05-08 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
76 * gmain.c, gthread.c, gthread.h: Moved func and arg members from
77 GRealThread to GThread, such that they can be accessed by the
80 * gthread.c, gthread.h: Due to popular demand (Tim being the
81 populus here ;-) threads now have a 'return value', which is
82 returned by g_thread_join and is either the return of the topmost
83 thread function or the value given to g_thread_exit.
85 * gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
86 Adapted to the above change.
88 2001-01-06 Hans Breuer <hans@breuer.org>
90 * glib.def : don't try to export g_strcpy, it is g_stpcpy;
91 updated and added some tweaking for functions which got
92 renamed recently, to avoid the update hassle if it can
93 simply be done compatible. Should vanish if there is a
94 stable version for win32.
96 Fri May 4 11:49:18 2001 Owen Taylor <otaylor@redhat.com>
102 * configure.in (GLIB_MICRO_VERSION): Up version to 1.3.5,
103 interface/binary age 0.
105 2001-05-04 Sven Neumann <sven@convergence.de>
107 * ghash.c: fixed a typo in a comment.
109 * gtree.[ch]: added new functions g_tree_new_full(), g_tree_replace(),
110 g_tree_steal() and g_tree_foreach() to adapt GTree to the GHashTable
111 API. Moved comments into the C file.
113 * docs/reference/glib/glib-sections.txt
114 * docs/reference/glib/tmpl/glib-unused.sgml
115 * docs/reference/glib/tmpl/hash_tables.sgml
116 * docs/reference/glib/tmpl/linked_lists_double.sgml
117 * docs/reference/glib/tmpl/linked_lists_single.sgml
118 * docs/reference/glib/tmpl/macros_misc.sgml
119 * docs/reference/glib/tmpl/trees-binary.sgml: updated documentation
121 Thu May 3 06:38:28 2001 Owen Taylor <otaylor@redhat.com>
123 * g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make
124 foreach() safe against removal of the _current_ element. While
125 this could break some code, the new behavior is consistent with
126 the rest of GLib/GTK+ and probably is what people expect in most
127 cases. (Suggested by Paul Kuykendall, #50071)
129 Wed May 2 11:10:22 2001 Owen Taylor <otaylor@redhat.com>
131 * gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
132 (#50404, fix from Jonas Borgström)
134 Sun Apr 29 00:37:34 2001 Tim Janik <timj@gtk.org>
136 * ghook.[hc]: made hook ids a gulong.
138 2001-04-20 Dan Winship <danw@ximian.com>
140 * configure.in: Add a check for the Darwin dynamic linker. Use
141 AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
142 "no getpwuid_r" correctly.
144 * testglib.c (main): Make template[] bigger to prevent an overrun.
145 Remove an unused variable. Initialize error to NULL.
147 * tests/gio-test.c (main): Add a cast to prevent a warning when
150 * tests/type-test.c (main): Add an #ifdef to prevent a warning
151 when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
153 2001-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
155 * ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
156 g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
157 macros to ghash.h to go along the lines of the standard.
159 * gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
160 and g_scanner_thaw_symbol_table.
162 * gutils.c, gutils.h: Dito for g_dirname. g_basename is still
163 defined in gutils.c, but declared ing gutils.h only
164 G_DISABLE_DEPRECATED-guarded.
166 * configure.in: Removed bashism in test for the pkg-config
169 * configure.in: Rewrote test for multithread flag. Now uses
170 localtime_r, which hopefully has a consistent prototype across
171 different platforms. Also it uses a clever double EGREP trick
172 instead of compiling, which could give false positives. Thanks to
173 Dan Winship <danw@ximian.com> for the hint.
175 Wed Apr 18 17:35:38 2001 Owen Taylor <otaylor@redhat.com>
177 * gutils.c (_glib_gettext): Add missing static pointed
178 out by Michael Meeks.
180 Wed Apr 18 09:37:07 2001 Owen Taylor <otaylor@redhat.com>
182 * MAINTAINERS: Removed. Keeping README, README.cvs-commits
183 HACKING, and AUTHORS up to date is plenty without extra
184 random files that someone thought a module should have.
185 (Actually, I believe this was used for debbugs in the past.)
187 Tue Apr 17 11:47:07 2001 Owen Taylor <otaylor@redhat.com>
193 Tue Apr 17 10:43:36 2001 Owen Taylor <otaylor@redhat.com>
195 * gstrfuncs.c: Define _GNU_SOURCE for stpcpy
197 * tests/mainloop-test.c (main): Wait for all threads
198 to start before beginning tests.
200 2001-04-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
202 * gthreadpool.c (g_thread_pool_thread_proxy): Until now every
203 thread pool always had at least one tread waiting to avoid
204 switching overhead in case a new task would be added soon after
205 one finished. This however means a big waste of threads, if many
206 mostly inactive thread pools are involved. Now such a waiting
207 thread will only wait for half a second (This value is of course
208 very randomly picked) and go to the global threadpool afterwards.
210 Mon Apr 16 12:04:52 2001 Owen Taylor <otaylor@redhat.com>
212 * configure.in: Remove warnings about conflicts with the
215 * glib-2.0.m4: Fix some of the error text to be halfway
218 * README.in INSTALL.in: Add these to generate README, INSTAL
219 (as in the stable branch). Update.
223 2001-04-16 Havoc Pennington <hp@redhat.com>
229 * gwin32.c: docs fixes
237 2001-04-16 Havoc Pennington <hp@redhat.com>
239 * glib-2.0.m4: put AC_PATH_PROG(pkg-config) before "Checking for
240 glib" so the output looks right
242 2001-03-23 Havoc Pennington <hp@redhat.com>
244 * gutils.c (g_parse_debug_string): make GDebugKeys argument
247 2001-04-14 Hans Breuer <hans@breuer.org>
250 * makefile.msc.in : updated
252 * gpattern.c : include "gutils.h" to resolve the inline hassle
254 2001-04-11 Alexander Larsson <alexl@redhat.com>
256 * glib-2.0.m4: Pass pkg-config options
257 before the other args so it works even if
258 POSIXLY_CORRECT is set.
260 Mon Apr 9 18:57:44 2001 Tim Janik <timj@gtk.org>
262 * configure.in: increment version to 1.3.4 (binary 0, interface 0).
264 2001-04-05 Christian Rose <menthos@menthos.com>
266 * configure.in: Added sv to ALL_LINGUAS.
268 Wed Apr 4 09:18:55 2001 Tim Janik <timj@gtk.org>
270 * Released GLib-1.3.3.
272 Tue Apr 3 20:22:59 2001 Tim Janik <timj@gtk.org>
276 * NEWS.pre-1-3: take over old news.
278 Tue Apr 3 12:38:16 2001 Owen Taylor <otaylor@redhat.com>
280 * glib-config-2.0.in: Exit with an error message that you
281 should use pkg-config instead.
283 * configure.in (PACKAGE): Require pkg-config.
285 * tests/Makefile.am (EXTRA_DIST): Add utf8.txt.
287 * configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
288 leave interface/binary at 0.
290 Tue Apr 3 13:46:22 2001 Tim Janik <timj@gtk.org>
292 * glist.[hc]: added g_list_nth_prev() which walks ->prev instead
295 * gpattern.[hc]: added shell-style pattern matching code from beast,
296 derived from the gtk_pattern_*() code, but with a couple of bug fixes
297 and a number of optimizations.
299 2001-04-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
301 * gthreadpool.c: Added documentation.
303 * gthreadpool.c: The global thread pool now also is seperated for
304 bound and unbound threads. Only threads with standard stack size
305 go to the global pool. g_thread_pool_new now protects the global
306 setup of inform_mutex etc. with a lock. Fixed some typos. Unlock
307 the queue after g_thread_pool_wakeup_and_stop_all in the proxy.
309 2001-04-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
311 * gmain.c: Use the new GRealThread member "context" instead of a
312 GStaticPrivate to store the thread specific main loop context.
314 * gthread.c: Added "context" member to GRealThread and updated
315 g_thread_create, g_thread_self and g_thread_cleanup accordingly.
317 * gthread.c, gthread.h: Removed the functions
318 g_static_private_(get|set)_for_thread and adapted
319 g_static_private_(get|set) and g_static_private_free
320 accordingly. This fixes Bug #51435.
322 2001-03-30 Sven Neumann <sven@gimp.org>
325 * docs/reference/glib/tmpl/hash_tables.sgml: added new functions
326 g_hash_table_new_full, g_hash_table_replace, g_hash_table_steal and
327 g_hash_table_foreach_steal. Moved most docs out of the template
328 file into the C file. Please proofread the new documentation.
330 2001-03-29 Tor Lillqvist <tml@iki.fi>
333 * tests/makefile.mingw.in
334 * tests/makefile.msc.in: Add module-test rules.
336 Mon Mar 26 14:14:53 2001 Owen Taylor <otaylor@redhat.com>
338 * Makefile.am (INCLUDES): -DG_DISABLE_DEPRECATED
340 * gmain.h timeloop.c: Surround the cruftiest stuff with
341 #ifndef G_DISABLE_DEPRECATED.
343 * gcompat.h gdate.h: Move compat defines back to
344 gdate.h, surround with #ifndef G_DISABLE_DEPRECATED.
347 Mon Mar 26 13:34:50 2001 Owen Taylor <otaylor@redhat.com>
349 [ Patch from DindinX <David.Odin@bigfoot.com>, added docs ]
351 * gstrfuncs.c, gstrfuncs.h: Add g_stpcpy () for platform that don't
353 * gstrfuncs.c (g_strjoin, g_strjoinv and g_strconcat): use
354 g_stpcpy () so these functions run much faster.
355 * config.h.win32.in, glib.def: add reference to g_stpcpy ()
356 * configure.in: Add a test for the stpcpy () function.
358 2001-03-20 Havoc Pennington <hp@redhat.com>
360 * gutf8.c (g_utf8_strlen): rewrite, based on bug #52328 from
363 2001-03-19 Havoc Pennington <hp@redhat.com>
365 * gutf8.c (g_unichar_validate): added this function
367 2001-03-18 Tor Lillqvist <tml@iki.fi>
369 * gspawn-win32.c (SETUP_DEBUG): Add braces to silence gcc -Wall.
371 * gspawn-win32-helper.c (write_no_error): Remove unused function.
373 * tests/makefile.mingw.in (module-test.exe): Add rules for
374 building module-test.
376 Wed Mar 14 18:46:54 2001 Tim Janik <timj@gtk.org>
378 * gscanner.[hc]: removed archaic gpointer derived_data; relict and
379 added a GData member instead.
381 * glist.[hc]: added g_list_remove_all().
383 * gslist.[hc]: added g_slist_remove_all().
385 Sat Mar 17 19:54:51 2001 Owen Taylor <otaylor@redhat.com>
387 * timeloop.c: Reorder headers to make FreeBSD happy.
389 2001-03-13 Tor Lillqvist <tml@iki.fi>
391 From Edward M. Lee <tailbert@yahoo.com>:
393 * gdate.c (g_date_set_parse): add support for dates that in the
394 form "Wed Mar 14 2001". Running testgdate on cygwin requires this.
396 Fri Mar 9 18:01:43 2001 Tim Janik <timj@gtk.org>
398 * gscanner.[hc]: made config arg to g_scanner_new() const.
400 2001-03-12 Tor Lillqvist <tml@iki.fi>
402 * tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
403 libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
406 2001-03-10 Tor Lillqvist <tml@iki.fi>
408 * glibconfig.h.win32.in: Define G_PLATFORM_WIN32 here, too.
410 * tests/Makefile.am: Use the _LIBADD dependency on libglib only on
413 2001-03-09 Tor Lillqvist <tml@iki.fi>
415 * README.win32: Update with some information about using configure
418 2001-03-09 Hans Breuer <hans@breuer.org>
420 * gobject/gobject.def : updated
422 2001-03-08 Tor Lillqvist <tml@iki.fi>
425 * gobject/gobject.def
426 * gobject/makefile.mingw.in: Update.
428 2001-03-08 Sven Neumann <sven@gimp.org>
431 * docs/reference/glib/tmpl/trees-binary.sgml: added new function
432 g_tree_lookup_extended().
434 Thu Mar 8 16:23:34 2001 Tim Janik <timj@gtk.org>
436 * ghook.[hc]: destruction cleanup. there's one
437 ->finalize_hook member in the hooklist now that gets
438 called when a hook should be destroyed, that's it.
439 that function is guarranteed to be called only when
440 all ref_counts to the hook vanished, thus also when
441 the hook is not in call.
443 2001-03-08 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
445 * configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
447 Wed Mar 7 09:32:06 2001 Tim Janik <timj@gtk.org>
449 * glib-object.h: add gvaluearray.h.
451 * gstring.[hc]: fixup naming of g_string_sprint*.
453 * gtypes.h: fixed GCompareDataFunc naming.
455 2001-03-07 Christian Meyer <chrisime@gnome.org>
457 * configure.in: Added de (German) to ALL_LINGUAS.
459 2001-03-02 Christophe Merlet <redfox@eikonex.org>
461 * configure.in: Added fr (French) to ALL_LINGUAS.
463 2001-03-01 Tor Lillqvist <tml@iki.fi>
465 * gutils.c (g_path_is_absolute): (Win32) Remove test for initial
466 double backslash (UNC path), this will of course be matched by the
467 test for an initial G_DIR_SEPARATOR right up front. Silly me.
468 (g_find_program_in_path): Implement on Win32. Append the
469 executable file name suffixes from PATHEXT in turn while looking
471 (g_find_program_in_path): If the program we are looking for is a
472 relative path in a subdirectory, don't do any path search.
473 (g_get_any_init): (Win32) Also look for the USERPROFILE env var
474 indicating the home directory equivalent.
475 (g_find_program_in_path): (Win32): Use MAXPATHLEN, not PATH_MAX
476 which isn't defined with MSVC.
478 * testglib.c (main): Test g_find_program_in_path() on Win32 by
479 looking for more.com and regedit.
481 * glib.def: Add g_find_program_in_path.
483 2001-02-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
485 * gthreadpool.c (g_thread_pool_thread_proxy): Make
486 max_unused_threads work for -1 as well.
488 2001-02-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
490 * gthread.h (struct _GThread): Change the order to match the order
491 in g_thread_create().
493 * gthread.c (g_static_rec_mutex_lock_full): Also do the right
494 thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
495 mutex, that is already locked.
497 Thu Feb 22 10:31:36 2001 Owen Taylor <otaylor@redhat.com>
499 * gmain.c (g_source_remove_poll): Add missing implementation
500 of g_source_remove_poll. (Pointed out by Stefan Westerfeld)
502 2001-02-21 Tor Lillqvist <tml@iki.fi>
504 * gutils.c (g_find_program_in_path): Implement on Win32.
506 Cygwin support contributed by Stefan Ondrejicka
507 <ondrej@idata.sk>. Hopefully I got it all in while simultaneously
508 adding support for auto*/libtool for mingw.
510 * Makefile.am: Changes for auto* support on Cygwin and Win32. Do
511 still distribute the hand-written makefiles and *.win32.in files,
512 though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
513 Use -no-undefined. Pass -export-symbols glib.def to libtool.
515 * configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
516 and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
517 calls for Cygwin and mingw support. Check for %I64u guint64
518 format (in MS C library). Set G_MODULE_IMPL on mingw and
519 Cygwin. Use ac_object and ac_exeext. Set GIO, GSPAWN, PLATFORMDEP
520 and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
521 automake conditional on Win32.
523 * glib.h: Include gwin32.h also on Cygwin.
525 * gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
526 Unix) for Cygwin's sake.
528 * gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
533 * gutils.c: For code needed both on Cygwin and native Win32,
534 test for G_PLATFORM_WIN32.
536 * gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.
538 * gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
539 in case compiling a static library on Win32 or Cygwin.
541 * gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
542 dirent emulation on Cygwin.
543 (get_package_directory_from_module) Convert return value from
544 GetModuleFileName() to POSIX path on Cygwin.
546 * tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
547 and libgmodule as appropriate. Use -no-undefined.
549 * gbacktrace.c: Move #ifdefs around a bit on Win32.
551 2001-02-21 Tor Lillqvist <tml@iki.fi>
553 * gshell.c (unquote_string_inplace): Make static.
555 * gthread.h: Include gtypes.h to be sure to get GLIB_VAR
556 definition, remove definition from here.
558 * gunicode.h: Remove duplicate GLIB_VAR definition from here, too.
560 * gutils.c: (Win32) Use USERPROFILE as home dir if present. On
561 Win2k, HOMEDRIVE and HOMEPATH aren't reliable.
563 * Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.
565 * makefile.mingw.in: Remove install target, Windows isn't Unix.
566 (DEFINES): Add -DDLL_EXPORT.
570 * testglib.c: Undefine GLIB_COMPILATION.
572 * testglib.c: Make some vars static. Add Cygwin path tests.
577 * */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
579 2001-02-19 Hans Breuer <hans@breuer.org>
581 * glib/glib.def, gobject/gobject.def : added nissing symbols
583 * gobject/makefile.msc : updated
585 * glib/gmessages.c : call the "debug interrupt" before exiting the
586 program, if build with msvc as debug version. Which gives the opportunity
587 to see the callstack, etc.
589 * glib/gthread.c : thread->pid is only defined #ifdef
590 G_THREAD_USE_PID_SURROGATE
592 Mon Feb 19 07:32:38 2001 Tim Janik <timj@gtk.org>
594 * glib-config-2.0.in (lib_glib): my name is glib-config-2.0!
595 don't exit with errorcode!=0 for --help or -h.
598 * configure.in: build glib-config-2.0.
600 2001-02-17 Havoc Pennington <hp@pobox.com>
602 * gthread.c: include string.h
604 Applied patch from Soeren Sandmann:
606 * testglib.c: const fixes
608 * gwin32.h: format cleanups
610 * gutils.c (g_atexit): constify a variable
611 (g_find_program_in_path): constification
612 (g_basename): G_CONST_RETURN
613 (g_path_skip_root): G_CONST_RETURN
614 (g_getenv): G_CONST_RETURN
615 (g_get_user_name): G_CONST_RETURN
616 (g_get_real_name): G_CONST_RETURN
617 (g_get_home_dir): G_CONST_RETURN
618 (g_get_tmp_dir): G_CONST_RETURN
619 (g_get_prgname): G_CONST_RETURN
620 (_glib_gettext): G_CONST_RETURN
622 * gunicode.h: formatting cleanups
624 * gstrfuncs.c (g_strerror): G_CONST_RETURN
625 (g_strsignal): G_CONST_RETURN
627 * gspawn.c (g_execute): const on variables
629 * gmessages.c (printf_string_upper_bound): fix const on a variable
631 * gmem.c (g_mem_chunk_new): make the "name" arg const
632 (struct _GRealMemChunk): make the "name" field const
634 * gfileutils.c (g_file_open_tmp): store const return in a const
637 * gdataset.c (g_quark_to_string): G_CONST_RETURN
639 Sat Feb 17 07:26:33 2001 Tim Janik <timj@gtk.org>
641 * configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
644 2001-02-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
646 * acconfig.h, configure.in: Reverted the changes necessary to
647 enlarge the system thread for G_THREAD_USE_PID_SURROGATE.
649 * gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
650 instead of gthread/gthread-posix.c. While the latter has the
651 advantage, that it is conceptually cleaner, it makes
652 g_thread_self_posix_impl _very_ slow and that hurts
653 GStaticRecMutex and other things. So the new version is less
656 2001-02-09 Havoc Pennington <hp@redhat.com>
658 * gconvert.c (g_convert): don't overwrite errors
660 * gerror.c (g_set_error): improve warning message if an error is
662 (g_propagate_error): ditto
664 2001-02-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
666 * gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
667 g_static_rec_mutex_free, g_static_private_init,
668 g_static_private_free, g_static_rw_lock_init to allow the usage of
669 all those types dynamically. (g_static_rw_lock_free already
670 existed). Aditionally freed static_private indeces are reused
671 now. Untill now the array would just grow if you would use more
672 and more static_private. That required adding a slist of all
673 running threads, which could potentially be of good use later. It
674 is not exported however. Renamed a LOCK and small indentation
677 * tests/thread-test.c: Test the new static_private index freing
680 Mon Feb 12 15:01:09 2001 Owen Taylor <otaylor@redhat.com>
682 * configure.in (gtk_doc_min_version): Add check for gtk-doc version.
684 2001-02-10 Tor Lillqvist <tml@iki.fi>
687 * gutils.h: Move GLIB_VAR definition from gutils.h to gtypes.h
690 * gmem.h: Mark glib_mem_profiler_table for export.
692 * gwin32.c (get_package_directory_from_module): Don't store
693 address of local variable in hashtable.
695 2001-02-08 Fatih Demir <kabalak@kabalak.net>
697 * configure.in: Added "tr" to ALL_LINGUAS.
699 2001-02-04 Tor Lillqvist <tml@iki.fi>
701 * gwin32.c (g_win32_getlocale): Use "nn" for Nynorsk, as nn.po
702 files are appearing now. If the sublanguage starts with '@', don't
703 use a '_' separator. South Africa is 'ZA', not 'SA'.
705 Sun Feb 4 07:38:32 2001 Tim Janik <timj@gtk.org>
707 * docs/debugging.txt: s/glib_trap_/g_trap_/. add comments on
708 g_trap_instance_signals, g_trace_instance_signals and
711 * gmem.c: s/glib_trap_/g_trap_/.
713 2001-02-04 Tor Lillqvist <tml@iki.fi>
715 * tests/Makefile.am (thread_LDADD): Change order of libs,
716 put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.
718 2001-02-02 Tor Lillqvist <tml@iki.fi>
722 * gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.
724 * glib.def: Add missing functions.
726 2001-02-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
728 * gthread.c, gthread.h: Added g_static_mutex_init to allow
729 initialization of a GStaticMutex, that can not be initialized with
730 G_STATIC_MUTEX_INIT, for example in allocated structures.
732 Wed Jan 31 13:46:58 2001 Owen Taylor <otaylor@redhat.com>
734 * acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
736 2001-01-31 Tor Lillqvist <tml@iki.fi>
738 * glibconfig.h.win32.in: Corresponding change as below to
741 2001-01-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
743 * gthread.c, gthread.h: Added g_static_mutex_free to allow using
744 GStaticMutexes with limited lifetime without leaking.
746 * configure.in: GStaticMutex doesn't have to provide extra space
747 for debugging information for G_ERRORCHECK_MUTEXES, as then the
748 non-default implementation (runtime_mutex) is used anyway.
750 * gthread.h (g_cond_wait): Added debug information for
751 g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
753 2001-01-29 Tor Lillqvist <tml@iki.fi>
755 * glibconfig.h.win32.in: Use the same GMutex structure as the
756 configure-generated glibconfig.h does.
758 * gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
759 says jbdoll@kepri.re.kr.
761 2001-01-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
763 * gthread.c: Broadcast the condition, if there are waiting
764 readers, as all might read at the same time. Only signal the
765 writer thread, if there are no more readers.
767 2001-01-25 Tor Lillqvist <tml@iki.fi>
770 * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
771 if makefile.mingw.in has changed with a check if said .in file
772 exists. (This rule is mainly a convenience for yours truly.)
774 * giowin32.c: Socket support rewritten. It was utterly broken, and
775 untested in fact. We still do use a thread for each socket being
776 watched, but instead of blocking in recv() (which of course was
777 plain stupid for sockets being listen()ed on in a server-type
778 application), we block in select(). The read method for sockets
779 calls recv(). It is now possible for the application to call
780 accept(), recv() or send() in the callback, just like on
781 Unix. Tested with code kindly provided by Andrew Lanoix.
783 Rename g_io_channel_win32_new_stream_socket() to
784 g_io_channel_win32_new_socket() as it isn't restricted to stream
787 * gmain.c (g_poll): Related changes in the Win32 version of
788 g_poll(). When polling for messages, always do a PeekMessage()
789 first. We used to miss messages if several were posted between
792 * giochannel.h: Improve Win32-related comments.
794 * gutf8.c: (Win32) Include <stdio.h> for sprintf.
796 * tests/gio-test.c: (Win32) Add tests for polling for Windows
799 * tests/makefile.mingw.in: Remove superfluous compilation command
802 2001-01-23 Alex Larsson <alexl@redhat.com>
804 * gmain.c (g_source_callback_unref): Free the callback
805 (g_source_set_callback): Initialize the callback refcount
807 2001-01-20 Tor Lillqvist <tml@iki.fi>
809 * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
810 currently commented out from gutils.h, fix it to return the same
811 CP%d value as g_get_charset().
813 2001-01-19 Kjartan Maraas <kmaraas@gnome.org>
815 * gconvert.c: Fix typo.
816 * gfileutils.c: Same here.
817 * configure.in: Added no to ALL_LINGUAS
819 2001-01-17 Tor Lillqvist <tml@iki.fi>
821 * gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
823 (g_win32_get_package_installation_directory): Add one parameter,
824 the name of a DLL in the package. Add possibility to use that to
825 deduce the installation directory if not entered into the
826 Registry. Make the return value dynamically allocated.
827 (g_win32_get_package_installation_subdirectory): New convenience
830 * gutils.c (GLIB_LOCALE_DIR)
831 * gwin32.h: Adapt accordingly.
833 * testglib.c (main): Adapt tests accordingly.
835 Tue Jan 16 23:20:38 2001 Owen Taylor <otaylor@redhat.com>
837 * gutils.c glibintl.h: Optimize for size rather than speed by
838 making _() always call _glib_gettext() instead of conditionally
839 calling gettext() or _glib_gettext_init. glib only uses translated
840 strings in slow error handling code anyways.
842 * glibintl.h: g'ify types.
844 * Makefile.am: include glibintl.h in _SOURCES
846 2001-01-17 Tor Lillqvist <tml@iki.fi>
848 * config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.
851 * makefile.msc.in: Use the GNU intl library.
853 * gwin32.c (g_win32_get_package_installation_directory): New
854 function. To be used by various GLib-using packages to get their
855 installation directory, which should be stored in the Registry by
858 * gwin32.h: Declare it.
860 * testglib.c (main): Test it.
862 * gutils.c: On Win32, define GLIB_LOCALE_DIR using
863 g_win32_get_package_installation_directory().
867 Mon Jan 15 21:39:06 2001 Owen Taylor <otaylor@redhat.com>
869 * glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLLIBS@.
871 Mon Jan 15 21:12:49 2001 Owen Taylor <otaylor@redhat.com>
873 * configure.in acconfig.h glibintl.h gutils.c
874 po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
877 * glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
878 some more and put them in this file, though they also need
879 to be included in acinclude.m4 due to the brokeness of
882 * gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
883 gshell.c: Remove dummy _() #defines, include glibintl.m4.
885 2001-01-09 Tor Lillqvist <tml@iki.fi>
887 * giowin32.c: Rework the changes needed to pass mainloop-test. Now
888 we don't need to call TerminateThread() after all, which is a
889 relief, as the docs have a BIG RED WARNING SIGN about using that
890 API. Instead, when closing a fd channel that has a reader thread
891 running, just mark it as non-running and additionally mark the fd
892 as ripe for closing. When the reader thread hopefully eventually
893 gets something (and EOF or some actual data), it will note that it
894 shouldn't be running, break out of the loop, and close the fd.
896 The socket channel closing code should probably be changed
897 similarily, but that will have to wait until I have a test case.
899 (g_pipe_readable_msg, g_io_channel_win32_new_pipe,
900 g_io_channel_win32_new_pipe_with_wakeups,
901 g_io_channel_win32_pipe_request_wakeups,
902 g_io_channel_win32_pipe_readable): Remove these, have been
903 obsolete for some time.
905 * gutils.c (g_basename, g_dirname): Don't warn about deprecation
906 on Win32. Code written for GLib 1.2 doesn't have much choice but
907 to use GLib >= 1.3 on Win32.
911 2001-01-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
913 * gmem.c: Made g_profile_mutex a GMutex* instead of
914 G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
915 without native static mutexes. Contruct g_profile_mutex in
918 2001-01-06 Tor Lillqvist <tml@iki.fi>
920 * gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
921 strlen() if arg is negative in the Win32 code, too.
923 * giowin32.c: Changes necessary to be able to run
924 mainloop-test. We can't close the fd that our (internal) reader
925 thread is sitting doing a blocking read() from. We must terminate
926 the thread first. Keep track of thread handle, and close it when
927 thread is dying. Start reader thread with the lower-level
928 CreateThread() instead of _beginthreadex() from the C runtime, in
929 order to be able to use TerminateThread(). Hopefuly this isn't
934 * tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
937 * tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
940 * tests/unicode-encoding.c (process): Add missing "line" argument
941 to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
942 converts to UTF-16BE if we ask for unspecific UTF-16.
943 (main) Handle also '\r'.
945 Fri Jan 5 11:25:42 2001 Owen Taylor <otaylor@redhat.com>
947 * configure.in (PACKAGE): move $enable_debug down below
948 checks for GCC to avoid setting CFLAGS prematurely,
949 change checks to avoid adding -g twice.
951 * gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
954 * gutf8.c (g_utf8_to_ucs4): Terminate result with 0.
956 * tests/mainloop-test.c (main): Fix uses of
957 g_main_loop_destroy().
959 * tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
960 Tests for unicode-conversion code.
962 * gconvert.c (g_convert, g_convert_with_fallback): work around
963 a couple of GNU libc bugs.
965 * gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
966 arguments to match g_convert(). Document.
969 - Implement conversion functions to and from UTF-16
970 - Standardize unicode conversion functions on prototype like
972 - Add a lot of error checking to unicode conversion functions.
974 * gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
975 variant of g_utf8_to_ucs4.
977 * gutf8.c (g_utf8_validate):
978 - add g_return_if_fail (str != NULL).
979 - add checks for overlong strings, non-valid Unicode characters (>= 110000)
980 and single surrogates.
982 2001-01-05 Tor Lillqvist <tml@iki.fi>
984 * testglib.c (main): Add test for g_path_skip_root().
986 * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
987 forward slashes in the template.
989 * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
990 part of UNC paths. On all platforms, skip several initial
991 slashes. Add a few comments.
992 (g_get_any_init): On Win32, in case HOME is Unix-style with
993 (forward) slashes (some other applications apparently set it up
994 this way, convert to backslashed form.
996 * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
997 although using configure for mingw surely doesn't work yet.
1001 2001-01-02 Havoc Pennington <hp@redhat.com>
1003 * configure.in: remove glib-config-2.0
1005 * Makefile.am: remove glib-config-2.0
1007 2001-01-03 Havoc Pennington <hp@pobox.com>
1009 * tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule,
1010 fix from Michael Meeks
1012 * Makefile.am (INCLUDES): DISABLE was spelled wrong
1014 Wed Jan 3 14:10:49 2001 Owen Taylor <otaylor@redhat.com>
1016 * gmain.[ch]: Switch GMainLoop to be ref/unref, use to
1017 make dropping reference to running loop safe.
1019 Wed Dec 13 20:41:49 2000 Owen Taylor <otaylor@redhat.com>
1021 * gmain.c (g_source_unref_internal): Unref callback->cb_data
1022 if it was still set when the source is freed. (Usually, this
1023 will be done by g_source_destroy.)
1025 2001-01-02 Dan Winship <danw@helixcode.com>
1027 * garray.h (g_array_append_val, g_array_prepend_val,
1028 g_array_insert_val): Use parentheses around an argument to make
1029 these cause an error if you pass a non-lvalue for the value,
1030 rather than silently doing the wrong thing.
1032 2000-12-29 Tor Lillqvist <tml@iki.fi>
1034 * glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
1038 * {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
1040 Fri Dec 29 14:53:18 2000 Tim Janik <timj@gtk.org>
1042 * configure.in: we can't grow _cv_ variables by using a backticked
1043 expr that refers back to the variable (glib_cv_sizeof_system_thread for
1044 G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
1045 it's evaluated. quantum states, anyone?)
1047 Thu Dec 28 10:21:46 2000 Tim Janik <timj@gtk.org>
1049 * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
1050 and g_try_realloc() which _may_ fail and return NULL.
1051 nuked g_mem_check(), provided GMemVTable for memory function
1052 virtualization, alterable at program startup with g_mem_set_vtable().
1053 provided glib_mem_profiler_table and g_mem_profile() to support limited
1054 profiling information out of the box (uses mprotect() for free()ed areas
1056 provide globally visible G_MEM_ALIGN.
1059 * docs/macros.txt: file to get a clue about the various configuration
1062 * docs/debugging.txt: explain debugging traps.
1064 * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
1065 define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
1066 and define SANE_MALLOC_PROTOS is we can use them.
1067 <boy, is this file a mess>
1069 * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().
1071 2000-12-27 Tor Lillqvist <tml@iki.fi>
1073 * README.win32: Update.
1075 2000-12-25 Tor Lillqvist <tml@iki.fi>
1077 * gmessages.c: (Win32) Use a MessageBox for fatal
1078 messages. Collect eror message into a buffer, and display that.
1082 * glibconfig.h.win32.in: Update. Remove unused wchar and wctype
1083 macros, add G_MODULE_SUFFIX.
1085 2000-12-24 Ali Abdin <aliabdin@aucegypt.edu>
1087 * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
1088 as recommended by Havoc.
1090 * gdate.c, gdate.h, testgdate.c,
1091 docs/reference/glib/glib-sections.txt,
1092 docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
1093 of the gdate functions to use the '_get' in their name. Patch
1096 2000-12-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1098 * configure.in: Determine the suffix of the shared librarries for
1099 this system. This is done analogous to
1100 ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
1101 "sl", "dll", or (most often) "so".
1103 * tests/Makefile.am, tests/module-test.c,
1104 tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
1105 Added new testcase for gmodule. This is mostly copied from
1106 gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
1107 some tests that verbose, not to say loquacious...)
1109 2000-12-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1111 * grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
1112 accurate. Redid g_rand_double() such that it returns 52 bits after
1113 the point instead of 32 as before. That OTOH requires calling
1114 g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
1115 now thanks to the new precision of g_rand_double(). Thanks to
1116 Sverre Johansen <sj@ifi.uio.no> for the hint.
1118 * grand.h: Added g_rand_boolean() and g_random_boolean()
1119 macros. While they could be omitted due to extreme simplicity,
1120 they make intention clearer in code and are therefore good to have.
1122 * grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
1123 begin' and 'end' resp. to avoid making people think, that 'max' is
1124 included in the interval. 'end' now isn't, whereas 'begin'
1125 is. That's similar to the use in the STL.
1127 * gslist.c, glist.c: Ok, I'm a moron. When I originally
1128 implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
1129 the affected files. Now that Alex did that for those two,
1130 inevitable typos surfaced, which are now fixed.
1132 * garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
1133 as ENABLE_GC_FRIENDLY should be known.
1135 2000-12-19 Alexander Larsson <alexl@redhat.com>
1138 Added --disable-mem-pools option.
1144 Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
1146 2000-12-17 Tor Lillqvist <tml@iki.fi>
1148 * gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
1149 the current ANSI codepage.
1151 * gunicode.h: Add comment that the static string g_get_charset
1152 sets the parameter to point to should be copied in case the
1153 charset might be changed later in the program.
1155 2000-12-14 Tor Lillqvist <tml@iki.fi>
1157 * makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
1158 compiling gspawn-win32-helper any longer.
1160 * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
1162 (g_io_win32_create_watch): Fix typo.
1163 (g_io_win32_fd_create_watch): Ditto.
1164 (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
1165 fd lookalike provided by the C library), call
1166 g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
1167 call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
1168 fds don't overlap. TODO: Implement also datagram sockets.
1169 (g_io_channel_win32_poll): Call g_main_context_get_poll_func().
1171 * gcompletion.h: Include <unistd.h> only on Unix. Is this
1172 inclusion really needed here? OTOH, do include <stddef.h>, for
1175 * gmessages.c: (Win32) Don't define a function called "write" that
1176 might clash with the prototype from <io.h>, use a #define.
1180 * gmain.c (g_source_add_poll): Don't return a value from void
1182 (g_main_context_get_poll_func): Compile also for non-Win32, as
1183 presumably was intended. The result var is a GPollFunc, not a
1184 GPollFunc*. Return the result!
1186 2000-12-13 Havoc Pennington <hp@redhat.com>
1188 * gconvert.c (open_converter): make static
1190 * gutf8.c (g_utf8_validate): Simplify logic a bit, maybe
1191 speeding it up - now we just return FALSE if we had to bail out
1192 for any reason before getting to the end of the string, as defined
1193 by a nul byte if len was -1, defined by the len otherwise. This
1194 also fixes a bug where nul bytes were not treated as invalid
1195 when the length was specified.
1197 2000-12-12 Havoc Pennington <hp@pobox.com>
1199 * gmain.c (g_main_context_destroy): don't try to use thread stuff
1200 unless G_THREADS_ENABLED
1201 (g_main_context_query): ditto
1202 (g_main_context_check): ditto
1203 (g_main_loop_quit): ditto
1205 Tue Dec 12 18:58:22 2000 Tim Janik <timj@gtk.org>
1207 * ghash.c (g_hash_table_remove): return whether a value
1210 Tue Dec 12 15:18:10 2000 Owen Taylor <otaylor@redhat.com>
1212 * gmain.[ch]: Revert unauthorized changes.
1214 2000-12-12 Elliot Lee <sopwith@redhat.com>
1216 * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy):
1217 GMainContext useful in implementing some additional styles of
1218 main loop usage. To do this, however, Joe Hacker needs to be able
1219 to create/destroy GMainContext's at will. This is just an export
1220 of existing functionality, rather than any new functionality.
1222 They are listed in the "Low level functions for implementing custom
1223 main loops" section of the header file, to avoid confusing people.
1225 Sun Dec 10 10:47:11 2000 Owen Taylor <otaylor@redhat.com>
1227 * gmain.c (g_source_destroy_internal): Remove pollfds
1228 from the context here, not when actually freeing the
1231 * gmain.c (g_source_unref_internal): Free source list
1232 and source, call source->source_funcs->destroy().
1234 * giochannel.c: Unreference io_channel properly.
1236 Thu Dec 7 15:22:30 2000 Owen Taylor <otaylor@redhat.com>
1238 * tests/mainloop-test.c (recurser_start): Add a bunch
1241 * gmain.c (g_source_attach): Reference the source
1242 when adding (pointed out by Elliot)
1244 2000-12-08 Raja R Harinath <harinath@cs.umn.edu>
1246 * acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP):
1247 Rename from GLIB_DIVERT_BEFORE_HELP.
1248 Update to track autoconf 2.49b.
1249 * configure.in: Reflect above change.
1250 (AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
1251 (debug_default): Replace "if test `expr ...`" with "case".
1253 * tests/Makefile.am (TESTS): Rearrange into other variables, and
1254 include run-markup-tests.sh.
1255 (TESTS_ENVIRONMENT): New. Pass $srcdir to tests.
1256 (noinst_PROGRAMS): Rename to ...
1257 (check_PROGRAMS): ... this. 'automake' ensures that these are
1258 built before running the tests.
1259 * tests/run-markup-tests.sh: Support $srcdir != $builddir.
1261 2000-12-08 Havoc Pennington <hp@pobox.com>
1263 * tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
1264 it isn't a proper test, the proper test would be
1265 run-markup-tests.sh, but that can't go in tests, so we need
1266 a manual make check rule. Didn't do that yet.
1268 2000-12-07 Raja R Harinath <harinath@cs.umn.edu>
1270 * gmain.h: Don't put anything after an #endif.
1271 * gmain.c: Likewise.
1273 2000-12-06 Havoc Pennington <hp@pobox.com>
1275 * tests/strfunc-test.c (main): add g_strdupv test
1277 * gstrfuncs.c (g_strdupv): Add a function to copy
1280 Tue Dec 5 12:23:04 2000 Owen Taylor <otaylor@redhat.com>
1282 * gmain.[hc]: Major change in API for creating sources
1283 to handle multiple main loops (GMainContext *).
1285 GSources are now exposed as GSource * and implemented
1286 with structure derivation.
1288 * giochannel.[ch]: Changed vtable for GIOChannel to correspond
1289 to the new mainloop API, add g_io_channel_create_watch().
1291 * gtypes.h: Move GTimeVal here.
1293 * gthread.h: Remove gmain.h include to avoid circularity.
1295 * giounix.c: Update for new GMain API.
1297 * giowin32.c: Update for new GMain API. (No check for
1298 proper compilation or working.)
1300 * timeloop.c timeloop-basic.c: A benchmarking program for
1301 the main loop comparing the main loop against a
1302 hand-written (timeloop-basic.c) variant.
1304 * tests/mainloop-test.c: New torture test of mainloop.
1306 * docs/Changes-2.0.txt: Started. Added text about
1309 * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
1310 to zero. (#8482, Benjamin Kahn)
1312 2000-12-01 Tor Lillqvist <tml@iki.fi>
1314 * {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.
1316 * makefile.{mingw,msc}.in (glib_OBJECTS): Add gunibreak.
1318 * glib.def: Update correspondingly.
1320 2000-11-21 Havoc Pennington <hp@pobox.com>
1322 * gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
1323 and nothing when G_DISABLE_CONST_RETURNS is defined.
1325 2000-11-29 Havoc Pennington <hp@redhat.com>
1327 * gunidecomp.c (COMBINING_CLASS):
1328 s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
1330 * gunichartables.h: Update for data in Unicode 3.0.1
1332 * gunidecomp.h: Ditto
1334 * gunicode.h (GUnicodeBreakType): Enum for line break properties
1335 (g_unichar_break_type): Get the break property for a char
1337 * gunibreak.h: Autogenerated line break property tables
1339 * gunibreak.c (g_unichar_break_type): added
1341 * Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl
1343 * Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c
1345 * gen-unicode-tables.pl: Include the script to update the unicode
1348 2000-11-28 Elliot Lee <sopwith@redhat.com>
1350 * gmarkup.c: Fix warnings.
1352 * guniprop.c, gunidecomp.c: Make warnings go away by using
1353 GPOINTER_TO_INT() instead of (int).
1355 * gcompletion.[ch]: Add g_completion_set_compare(),
1356 to allow (for example) using case-insensitive completion.
1358 2000-11-28 Tor Lillqvist <tml@iki.fi>
1360 Patches by Hans Breuer:
1362 * gspawn-win32.c: Move the code for gspawn-win32-helper to its own
1365 * makefile.{mingw,msc}.in: Change accordingly.
1367 * gspawn-win32-helper.c: New file.
1369 * Makefile.am (EXTRA_DIST): Add it.
1371 * gmarkup.c (find_current_text_end): Fix assertion not to check an
1372 uninitialised variable.
1374 2000-11-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1376 * gthread.c: Set the thread data before locking the mutex, because
1377 the locking call might use g_thread_self ().
1379 * gthread.h: Do only show the location of the locking/unlocking
1380 for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
1381 errorcheck capability for g_cond_wait and g_cond_timed_wait as
1384 2000-11-27 Havoc Pennington <hp@redhat.com>
1386 * gthread.h: Add void in empty function arg list
1388 2000-11-22 Tor Lillqvist <tml@iki.fi>
1390 * makefile.{mingw,msc}.in: Add gqsort.
1394 2000-11-21 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1396 * configure.in: Add a surrogate for thread priorities using PID
1397 niceness for systems with no thread priorities and different PIDs
1398 for threads of the same process (most notably: Linux). Define
1399 G_THREAD_USE_PID_SURROGATE in that case, as used by
1400 gthread-posix.c. Also make the system thread bigger by
1401 sizeof (long) to contain the thread's PID.
1403 * gfileutils.c: Include stdlib.h for mkstemp prototype.
1405 * gthread.c: Add priority range checks to the affected functions.
1407 * gthreadpool.c: Remove unused variable.
1409 Mon Nov 20 18:55:17 2000 Jonathan Blandford <jrb@redhat.com>
1411 * gtree.[hc]: Patch from David Benson <daveb@idealab.com> to add
1412 user_data support to gtree functions.
1414 Mon Nov 13 18:35:52 2000 Jonathan Blandford <jrb@redhat.com>
1416 * gtypes.h (GCompareFuncData): new func type to let you use user
1417 data when comparing nodes.
1419 * gslist.c (g_list_sort_with_data): new function to sort with
1422 * glist.c (g_list_sort_with_data): new function to sort with
1425 * garray.[ch]: Added convenience functions to sort arrays.
1427 2000-11-16 Havoc Pennington <hp@redhat.com>
1429 * guniprop.c (g_unichar_isspace): Use a switch here, maybe helps
1430 the compiler optimize things. Also, ' ' is a SPACE_SEPARATOR,
1431 so don't special case it.
1433 2000-11-17 Tor Lillqvist <tml@iki.fi>
1435 * glib.def: Add g_trash_stack entry points.
1437 Fri Nov 17 15:43:00 2000 Owen Taylor <otaylor@redhat.com>
1443 * tests/Makefile.am (dist-hook): Add code to distribute
1446 2000-11-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1448 * configure.in: Check for the sched.h header and include it on
1449 gthread/gthread-posix.c if available.
1451 * configure.in: Add -D_POSIX4_DRAFT_SOURCE to
1452 GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
1453 to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
1454 when searching for thread libs. Look for sched_* functions in
1455 -lrte as well. All of that is necessary on DG/UX.
1457 * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
1458 various places to make it work more reliable, to make it accept
1459 macros instead of functions etc.
1461 * configure.in: Replace some NULL's for checks with 0 to make it
1462 work without stdio.h everywhere.
1464 * configure.in, gutils.c: changed the test for getpwuid_r to first
1465 test for a posix version and then for a non-posix version. No code
1466 change in gutils.c. Again this change deals better with getpwuid_r
1467 being a macro and not a function. Most of the above with kind help
1468 from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
1470 2000-11-14 Tor Lillqvist <tml@iki.fi>
1472 * gwin32.h: Make #endif comment match #ifdef.
1474 Mon Nov 13 14:00:20 2000 Owen Taylor <otaylor@redhat.com>
1476 * configure.in: Up version to 1.3.2
1478 * gconvert.h (enum GConvertError): Remove trailing ,
1480 * gfileutils.c (g_file_open_tmp): Fix comment to
1481 properly describe return value.
1483 2000-11-13 Tor Lillqvist <tml@iki.fi>
1485 * config.h.win32.in: Add USE_LIBICONV.
1487 * gconvert.c: Check G_OS_WIN32 only after including glib.h.
1491 2000-11-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1493 * gthread.c (g_static_rec_mutex_*): Made recursive mutexes also
1494 work when the thread system is not (yet) initialized.
1496 Sun Nov 12 18:34:32 2000 Owen Taylor <otaylor@redhat.com>
1498 * gconvert.[ch]: Create wrapper functions for iconv()
1499 so that we can transparently use the native iconv,
1500 libiconv, or (in the future) a mini-iconv included
1503 * glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@
1505 * INSTALL: Added note about libiconv.
1507 * configure.in: Add checks for libiconv from pango. If
1508 EILSEQ is not defined in errno.h add define for it into
1509 glibconfig.h so g_iconv can use it. (Note, recompiling
1510 from a system without EILSEQ to a system with EILSEQ
1511 will break binary compatibility)
1513 2000-11-12 Robert Brady <robert@suse.co.uk>
1515 * gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8
1517 * gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
1518 g_locale_{to.from}_utf8. The locale_ variant honours
1519 nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
1522 (g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
1523 != length and no bytesread pointer passed.
1525 Sun Nov 12 15:29:53 2000 Owen Taylor <otaylor@redhat.com>
1527 * gfileutils.[ch]: template is a reserved word in
1528 C++ s/template/tmpl/.
1530 2000-11-11 Havoc Pennington <hp@pobox.com>
1532 * gmarkup.c (g_markup_parse_context_parse): Handle a long stream
1533 of bytes containing no UTF-8 character starts
1535 2000-11-11 Tor Lillqvist <tml@iki.fi>
1537 * glib.def: Add missing entry points.
1539 * gfileutils.c (g_mkstemp): Improve chance to generate unique
1540 names with less effort a bit.
1542 * gfileutils.h: Add g_file_open_tmp() declaration.
1544 * testglib.c: Include <io.h> on Win32.
1546 * makefile.mingw.in: Correct the way to invoke sub-makes.
1548 Sun Nov 5 13:20:54 2000 Owen Taylor <otaylor@redhat.com>
1550 * glib-object.h: Add gtypemodule.h
1552 2000-11-11 Tor Lillqvist <tml@iki.fi>
1554 * gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
1556 (g_mkstemp): Use only one case for letters in temp file name, as
1557 this will be used on systems with case-insensitive file systems.
1559 * testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
1561 2000-11-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1563 * gthreadpool.c: Don't take other threads with other priorities
1564 into account as changing the priority is highly
1565 unportable. (Actually using it at all already is unportable, but
1566 even sometimes where that works, changing priority is not
1569 2000-11-05 Havoc Pennington <hp@pobox.com>
1571 * gmarkup.h: rename G_MARKUP_FOO to
1572 G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
1574 * gmarkup.c: don't start doc comments with "Returns"
1576 2000-11-05 Havoc Pennington <hp@pobox.com>
1578 * gmarkup.c: inline docs
1579 (unescape_text): properly check strtoul for failure.
1581 * gerror.c (g_propagate_error): Free the src error if the dest
1582 location is NULL - I'm pretty sure that's what this function was
1585 2000-11-05 Havoc Pennington <hp@pobox.com>
1587 * gutils.c (g_find_program_in_path): cleanup docs, sync param
1588 names to those in the header
1590 * gfileutils.c (g_mkstemp): clean up docs
1592 * gshell.h: sync param names with param names in .c file
1594 * gfileutils.h (enum GFileTest): remove trailing comma from last
1595 member, confuses gtk-doc
1597 * gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
1600 2000-11-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1602 * gasyncqueue.c: Added documentation for asyncronous queues.
1604 * gspawn.c: Include sys/select.h (some platforms need it for
1607 * gspawn.c: Changed unportable __FUNCTION__ to the verbatim
1610 2000-10-31 Tor Lillqvist <tml@iki.fi>
1615 * gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
1617 2000-10-30 Tor Lillqvist <tml@iki.fi>
1619 * configure.in: Check for mkstemp.
1621 * gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
1622 it, otherwise use code lifted from glibc.
1624 * gutils.h: Declare it.
1626 * glib.def: Here, too. Plus two missing functions.
1628 2000-10-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1630 * gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
1631 Introduced new function type GEqualFunc to return TRUE for equal
1632 params. This is now used instead of GCompareFunc (which should
1633 work akin to strcmp) here. This kind of fixes Bug #14412. Note
1634 that technically GCompareFunc and GEqualFunc are still the same
1635 types, as gint == gboolean.
1637 * ghash.h, gutils.c: g_int_equal and g_direct_equal now return
1638 gboolean to be really become GEqualFunc.
1640 * gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
1641 follow the above change.
1643 2000-10-27 Tor Lillqvist <tml@iki.fi>
1645 * makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.
1647 * glib.def: Add missing functions.
1649 * tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
1651 2000-10-24 Havoc Pennington <hp@pobox.com>
1653 * gmarkup.h, gmarkup.c: New module to parse a simple
1656 * Makefile.am: add gmarkup.h, gmarkup.c
1658 * tests/Makefile.am: add markup-test
1660 * gstring.h (g_string_new_len): new function to create a string
1662 (g_string_new): avoid a gratuitous realloc
1664 2000-10-26 Tor Lillqvist <tml@iki.fi>
1666 * makefile.{mingw,msc}.in: Cosmetics.
1668 2000-10-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1670 * gstrfuncs.c (g_strsplit): When the string is ended by a
1671 delimiter, return an extra empty string just like for a delimiter
1672 at the start of the string. This makes the function behave more
1673 consistent and also fixes Bug #15026.
1675 Tue Oct 24 22:09:14 2000 Tim Janik <timj@gtk.org>
1677 * glib-object.h: added newly added gobject/ headers.
1679 * gmesage.c: print g_message() output to stderr instead of stdout.
1681 2000-10-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1683 * configure.in: Use one = instead of two, which is plainly wrong.
1685 2000-10-19 Tor Lillqvist <tml@iki.fi>
1687 * makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
1691 * gfileutils.c: Make them compile with picky MSVC.
1693 * gwin32.h: New file. Move Win32-only stuff that isn't related to
1694 GIOChannels here from giochannel.h.
1696 * Makefile.am: Add it here.
1698 * giochannel.h: Move stuff to gwin32.h.
1700 * glib.h: On Win32, include gwin32.h.
1702 Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
1704 * glib.h convert.c (g_convert_with_fallback): Change
1705 ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
1707 * docs/reference/glib/glib-sections.txt
1708 docs/reference/glib/glib-docs.sgml Update for g_convert,
1711 2000-10-16 Tor Lillqvist <tml@iki.fi>
1713 * glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
1714 takes care of it, correctly.
1716 * giowin32.c (reader_thread): Some more debugging output.
1717 (g_io_channel_win32_poll): Remove unused vars.
1719 * gfileutils.c: Changes for Win32, with no unistd.h and no
1722 * gspawn-win32.c: Implementation of the g_spwan_* functions for
1723 Win32. Due to the general non-Unixness of Win32, much of the
1724 functionality that is relatively clean to implement on Unix, is
1725 hard to do on Win32. We must use a separate helper program to
1726 change directory, close extra file descriptors, redirect the std
1727 ones, as needed, and only then start the child process. No child
1728 process pid can be returned, unfortunately. Or if we used
1729 CreateProcess directly, it probably could. (Now we use the spawnv*
1730 functions from msvcrt.)
1732 * Makefile.am (EXTRA_DIST): Add gspawn-win32.c
1734 * glib.def: Add new entry points.
1737 * giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
1738 g_io_channel_win32_poll() subsumes it.
1740 * gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
1742 * gwin32.c (g_win32_getlocale): Use "sp" for
1743 LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
1745 * makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
1746 Add gspawn-win32-helper.exe rule.
1748 * tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
1751 * tests/spawn-test.c: (run_tests): On Win32, don't try to run
1752 /bin/sh, but ipconfig (no special significance in choosing that,
1753 just a program that outputs something to stdout).
1755 2000-10-15 Raja R Harinath <harinath@cs.umn.edu>
1757 Remove need for acconfig.h, and misc. cleanups.
1758 * acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
1760 (GLIB_BYTE_CONTENTS): Likewise.
1762 * configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
1763 and AC_DEFINE_UNQUOTED(...) lines.
1764 Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
1765 (AM_PROG_LIBTOOL): Move after AC_PROG_CC.
1767 * acconfig.h: Empty out.
1769 * Makefile.am (BUILT_EXTRA_DIST): New variable. List 'dist'able
1770 files that are created in the builddir.
1771 (dist-hook): Handle those files.
1772 (libglib_1_3_la_SOURCES): Remove @ALLOCA@. @ALLOCA@ should only
1773 be used in an _LDADD or _LIBADD, since it expands (if necessary)
1776 * tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
1777 (dist-hook): Handle $(BUILT_EXTRA_DIST).
1779 2000-10-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1781 * grand.c: Added inline documentation.
1783 * gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
1784 g_node_insert_after and g_find_program_in_path resp., which
1785 mysteriously disappeared during the glib.h dissection.
1787 2000-10-12 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1789 * glibconfig.h.win32.in: Adapted accordingly to header separation
1790 and GLIB_HAVE_ALLOCA_H renaming.
1792 * Makefile.am: Added the new headers to glibinclude_HEADERS.
1794 * glib.h: Forgot to include gerror.h.
1796 * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
1797 gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
1798 ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
1799 gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
1800 grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
1801 gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
1802 into many header files mostly according to the resp. *.c-files.
1804 * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
1805 of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
1808 * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
1809 gunicode.h, : Changed guard-macro names to something more
1812 * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
1814 * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
1815 alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
1817 * configure.in: Removed cruft from old threading code.
1819 2000-10-09 Raja R Harinath <harinath@cs.umn.edu>
1821 Work with beta autoconf 2.50.
1822 * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
1823 instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
1824 (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
1825 (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
1826 (dlopen): Quote nested AC_CHECK_... calls.
1828 * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
1830 (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
1831 2.13 and beta autoconf 2.50.
1832 (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
1834 * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
1835 that 'configure' depends on acglib.m4.
1837 2000-10-09 Havoc Pennington <hp@redhat.com>
1839 * Makefile.am, tests/Makefile.am: Add new files.
1841 * tests/spawn-test.c, tests/shell-test.c: new tests for
1842 the shell/spawn stuff
1844 * gutils.c (g_find_program_in_path): convert a relative
1845 program name into an absolute pathname to an existing
1848 * gspawn.h, gspawn.c: New fork/exec API
1850 * gshell.h, gshell.c: Shell-related utilities, at the moment
1851 simply routines to parse argv and quote/unquote strings
1853 * guniprop.c (g_unichar_isspace): Return TRUE for the
1854 ASCII space characters isspace() returns TRUE for.
1856 * gfileutils.c (g_file_get_contents): Convenience function
1857 to slurp entire file into a string and return it. Partially
1858 written by Joel Becker.
1859 (g_file_test): file test function
1861 2000-10-06 Tor Lillqvist <tml@iki.fi>
1863 * makefile.msc.in: Revamp to be like makefile.mingw.in, make
1864 the MSVC build actually work again.
1866 * gmodule/makefile.msc.in
1867 * gobject/makefile.msc.in
1868 * gthread/makefile.msc.in: New files, like their mingw counterparts.
1870 * gmodule/Makefile.am
1871 * gobject/Makefile.am
1872 * gthread/Makefile.am: Make and distribute them.
1874 * */makefile.mingw.in: Allow override of GLib version number from
1875 the build/win32/module.defs file.
1877 * glib.def: Add new entry point.
1879 * tests/gio-test.c (main): Fix the Win32-only code to use current
1880 API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
1882 Fixes from Hans Breuer:
1884 * glib.h (struct DIR): Keep the last readdir result cached inside
1885 the DIR struct, to enable several DIRs being open simultaneously.
1887 * gwin32.c (g_win32_readdir): Use the above instead of static.
1889 * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
1892 2000-10-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1894 * glib.h: Changed alloca stuff a bit: when we have a working
1895 alloca.h, we're not messing with alloca any further. Should fix a
1896 bug reported by Bernd Demian <wega@csc-dd.de>.
1898 2000-09-29 Jonathan Blandford <jrb@redhat.com>
1900 * gnode.c (g_node_insert_after): Added function to keep symmetry
1901 with g_node_insert_before.
1903 2000-09-29 Martin Baulig <baulig@suse.de>
1905 Several minor ANSI C fixes.
1907 Added missing casts:
1908 * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
1909 * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
1910 (g_idle_add_full): `(gpointer) function' in call to g_source_add().
1911 * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
1912 `return (gchar *) string'.
1913 (g_strup): Likewise.
1914 (g_strchug): `start = (guchar*) string' in 1st for() argument;
1915 `strlen ((gchar *) start)' in call to g_memmove().
1916 * gstring.c (g_string_down): `s = (guchar *) string->str'.
1917 (g_string_up): Likewise.
1918 * gthreadpool.c (stop_this_thread_marker):
1919 `(gpointer) &g_thread_pool_new'.
1920 * gunidecomp.h (decomp_table[]): Cast all the strings to
1923 Put text following #endif into comments:
1926 2000-09-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1928 * configure.in, glib.h: Added errorcheck mutexes. These are
1929 activated through the preprocessor symbol
1930 G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
1931 order to achieve this. g_(static_)mutex_* functions instrument the
1932 mutex operations with mutex name and location, when compiled with
1933 -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
1934 mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
1936 2000-09-28 Havoc Pennington <hp@pobox.com>
1938 * glib.h (GThreadPriority): fix indentation
1939 (GConvertError): generic error is conventionally called
1940 _FAILED rather than _OTHER, at least at the moment,
1941 according to GError docs in docs/reference.
1943 * gconvert.c: s/_OTHER/_FAILED/
1945 2000-09-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1947 * configure.in: Adjusted the test for an unimplemented
1948 getpwuid_r. Info from Michael Pruett. This is just a forward
1949 merge from glib-1-2.
1951 * configure.in: Moved determination of G_THREAD_FLAGS before
1952 G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
1953 and libs there (it needs -Kthread for the native compiler and
1954 -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
1957 * configure.in: Fail immediately, when no thread library is found,
1958 instead of continuing searching for rt libs etc. Changed almost
1959 all occurances of $enable_threads to $have_threads, as that's,
1962 * tests/threadpool-test.c: Define vars inside the guard to avoid
1965 * configure.in, tests/type-test.c: Some platforms support 64 bit
1966 'long long', but you can not printf or scanf them. In that case,
1967 don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
1970 * gutils.c (g_get_current_dir): max_len can't be initialized
1971 statically as it might call a function. So do it at first call.
1973 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
1975 * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
1977 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
1979 * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
1981 2000-09-21 Tor Lillqvist <tml@iki.fi>
1983 * makefile.mingw.in: Add gconvert.o. Use libiconv.
1985 * config.h.win32.in: Define HAVE_GETCWD.
1987 * glib.def: Add new entry points.
1989 2000-09-21 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1991 * configure.in: The last released automake (1.4) still requires
1992 AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
1995 2000-09-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1997 * acconfig.h, configure.in, gutils.c: Test for the existence of
1998 getcwd, and use it only when found.
2000 * glib.h: Only use the gcc-variable-macro-argument-extension for
2001 gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
2003 Mon Sep 18 10:58:21 2000 Owen Taylor <otaylor@redhat.com>
2005 * gutf8.c: Implement g_ucs4_to_utf8 which was in
2006 the header file but not implemented.
2008 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
2010 * glib.h configure.in: Define g_alloca() as an
2011 alloca-that-works-anywhere.
2013 * gconvert.c: Fix warnings which could have caused problems on
2016 Sun Sep 10 12:37:40 2000 Owen Taylor <otaylor@redhat.com>
2018 * glib.h gconvert.c (g_convert): Havoc Pennington's implementation
2019 of convenient character set conversion using iconv, with
2020 the addition of GError. We probably need a fallback that
2021 just does conversions between, say UTF-8,16,32 and ISO-8859-1
2022 for targets without iconv at all.
2024 Also add g_convert_with_fallback() to take care of conversions
2025 where we accept some loss going to the target encoding.
2027 2000-09-10 Havoc Pennington <hp@redhat.com>
2029 * gutf8.c (g_utf8_validate): Add this function.
2031 Sat Sep 9 18:50:42 2000 Owen Taylor <otaylor@redhat.com>
2033 * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
2035 Mon Aug 21 03:57:46 2000 Tim Janik <timj@gtk.org>
2037 * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
2038 implement BREAKPOINT() as raise (5 /* SIGTRAP */);
2040 * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
2041 to turn on compilation of inline function implementations provided
2042 in header files with extern linkage.
2043 wrap inline function implementations into ifdef __G_UTILS_C__, so we
2044 really only compile them for gutils.c and not also into arbitrary user
2045 code that wants to make use of G_IMPLEMENT_INLINES.
2046 adjusted comment apropriately.
2048 * gutils.c: to turn on compilation of inline functions, provide
2049 #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
2051 2000-09-06 Havoc Pennington <hp@redhat.com>
2055 * docs/reference/glib/tmpl/error_reporting.sgml: docs
2057 Wed Sep 6 10:28:34 2000 Owen Taylor <otaylor@redhat.com>
2059 * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
2061 2000-09-06 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2063 * glib.h, gtimer.c, tests/thread-test.c:
2064 s/G_MICROSEC/G_USEC_PER_SEC/
2066 * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
2067 they are really superfluous.
2069 Tue Sep 5 20:16:27 2000 Owen Taylor <otaylor@redhat.com>
2071 * configure.in docs/Makefile.am: Add gtk-doc checks
2072 for newly added docs/reference/ subdir.
2074 2000-09-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2076 * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
2079 2000-09-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2081 * gstring.c (g_string_free): Use g_return_val_if_fail instead of
2082 g_return_if_fail, as the function now is supposed to return
2085 * gerror.c, gerror.h (g_propagte_error): Added function
2086 g_propagte_error to hand over local errors to the calling
2089 * glib.h: Include gerror.h before it is used for some g_thread_*
2092 * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
2093 thread creation, namely for g_thread_create, g_thread_pool_new,
2094 g_thread_pool_push and g_thread_pool_set_max_threads.
2096 * tests/thread-test.c, tests/threadpool-test.c: Adapted
2099 2000-08-31 Tor Lillqvist <tml@iki.fi>
2103 * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
2104 make a GPollFD from a GIOChannel. Creates the events and starts
2105 the reader thread if necessary.
2108 * giowin32.c (g_io_channel_win32_poll): No use for separate
2109 condition parameter.
2111 * gmain.c (g_get_current_time): (Win32): Simplify, use
2112 GetSystemTimeAsFileTime().
2114 2000-08-27 Tor Lillqvist <tml@iki.fi>
2116 * giowin32.c (g_io_channel_win32_poll): New function, otherwise
2117 like g_io_channel_win32_wait_for_condition(), but accept several
2119 (g_io_channel_win32_wait_for_condition): Call
2120 g_io_channel_win32_poll().
2122 * glib.h: Declare g_io_channel_win32_poll().
2124 * gwin32.c (g_win32_error_message): Don't believe return value
2127 2000-08-25 Elliot Lee <sopwith@redhat.com>
2129 * glib.h, gunicode.h, gmodule/gmodule.h:
2130 Mark the following functions G_GNUC_CONST (to allow optimization)
2131 because their results are a function of only their parameters:
2132 g_int_hash, g_int_equal, g_direct_hash, g_direct_equal,
2133 g_quark_to_string, g_date_is_leap_year, g_date_days_in_month,
2134 g_date_monday_weeks_in_year, g_date_sunday_weeks_in_year,
2135 g_spaced_primes_closest, g_unichar_is*, g_unichar_to*,
2136 g_unichar_*digit_value, g_unichar_type
2138 2000-08-21 Elliot Lee <sopwith@redhat.com>
2140 * gobject/Makefile.am, gobject/gobject-query.c,
2141 gobject/gparamspecs.c: Fix inclusion of config.h
2143 Mon Aug 21 14:46:23 2000 Owen Taylor <otaylor@redhat.com>
2145 * tests/gio-test.c: Fix a couple of trivial bugs that
2146 were causing warnings.
2148 Mon Aug 21 14:39:36 2000 Owen Taylor <otaylor@redhat.com>
2150 * glib.h: Use C99 varargs macros where possible
2151 (check __STDC_VERSION__), otherwise, on gcc, use an alternate
2152 form of gcc varargs which is more likely
2153 to be supported going forward. (Based on some code
2156 2000-08-17 Darin Adler <darin@eazel.com>
2159 * garray.c: (g_array_free), (g_ptr_array_free),
2160 (g_byte_array_free): Return the data left behind.
2161 * gstring.c: (g_string_free): Return the data left behind.
2163 Changed the free calls that leave data behind so they
2164 return a pointer to the left-behind data, NULL if told not
2165 to leave anything behind. This makes these calls easier
2166 to use correctly, without any incompatible API change for
2167 callers that don't know about the return value. Of course,
2168 it would be even clearer if the free calls weren't dual-purpose
2171 2000-08-12 Tor Lillqvist <tml@iki.fi>
2173 * giowin32.c: Some indentation and spacing fixes. Add some more
2175 (g_io_win32_add_watch): New function, with common code from
2176 g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
2177 more than one reader thread for a GIOChannel. We should obviously
2178 have just one reader thread reading a file descriptor or socket.
2180 2000-08-10 Havoc Pennington <hp@redhat.com>
2182 * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
2184 * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
2186 * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
2189 2000-08-10 Havoc Pennington <hp@redhat.com>
2191 * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
2194 2000-08-07 Tor Lillqvist <tml@iki.fi>
2196 * tests/gio-test.c (shutdown_source): New function, that calls
2197 g_source_remove(). Check return value of g_source_remove(), and
2198 decrement running subprocess counter only if g_source_remove()
2199 actually did remove the source.
2201 (recv_message): Call shutdown_source() on EOF condition. Return
2202 FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
2204 Sun Aug 6 20:06:02 2000 Tim Janik <timj@gtk.org>
2206 * gmessages.c (g_log_domain_check_free): keep *last updated while
2207 running through the domain list, so we don't screw up the removal,
2208 patch provided by Gady Kozma <gadykozma@hotmail.com>.
2210 Sun Aug 6 20:03:41 2000 Tim Janik <timj@gtk.org>
2212 * gmessages.c (g_log_remove_handler): keep *last updated while running
2213 through the handler list, so we don't screw up the removal.
2215 Sun Jul 30 16:54:13 2000 Owen Taylor <otaylor@redhat.com>
2217 * gunicode.h: Fix stray character
2219 * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
2220 which case we just compute the length.
2222 2000-07-31 Havoc Pennington <hp@redhat.com>
2224 * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
2226 2000-07-31 Havoc Pennington <hp@redhat.com>
2228 * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
2229 gobject-2.0.pc.in: pkg-config data files
2231 * Makefile.am: Install/dist the .pc files
2233 * configure.in: Output the .pc files
2235 2000-07-31 Tor Lillqvist <tml@iki.fi>
2237 * giowin32.c (buffer_read): The code didn't compile (must
2238 have been sleepy when committing). "return" instead of "break"
2240 (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
2241 readable by calling ReadFile to read zero bytes. ReadFile blocks
2242 on NT even if trying to read nothing at all. So, don't check if
2243 file descriptor is readable; assume this function isn't called
2246 Sun Jul 30 10:44:16 2000 Tim Janik <timj@gtk.org>
2248 * gmain.c (g_get_current_time): fix tor's recent changes which
2249 got rid of a required variable in the non-windows path.
2251 2000-07-30 Tor Lillqvist <tml@iki.fi>
2253 Finally, a new and improved IO Channel and condition watch
2254 implementation for Win32. Based on code provided by Craig Setera.
2256 When watching file descriptors, for which there is no select()
2257 like functionality on Win32 that would work on all Win32 platforms
2258 for all types of file descriptors (including anonymous pipes), we
2259 start a new thread that blocks while trying to read from the file
2260 descriptor. When the read returns, a Win32 Event is signalled that
2261 the polling routine eventually notices. Meanwhile, the data being
2262 read is stored in a circular buffer, from where the IO channel's
2263 read() method picks it up.
2265 If the buffer fills up the reading thread has to wait for space
2266 becoming available. For this another Win32 Event is used. The IO
2267 Channel's read() method signals this when it has read some data
2270 The separate reader thread(s), and the circular buffer(s) with
2271 associated events mean lots of possibilities for fun parallelism
2272 errors. But it seems to work OK, i.e. GIMP runs.
2274 * gmain.c: Small changes to the Win32 polling function.
2275 (g_main_win32_get_poll_func): New function. Perhaps it would be a
2276 good idea to provide this on all platforms.
2278 * giowin32.c: The bulk of the new implementation.
2279 (g_io_channel_win32_wait_for_condition): New function. To be used
2280 where on Unix one does a select() on the channel's fd, like
2281 libgimp's gimp_extension_process(). Could be provided on all
2284 * glib.h: Update documentation for IO Channels on Win32. Remove
2285 the declarations for the as of now obsolete old functions related
2286 to IO Channels for pipes with "wakeup" messages.
2288 * glib.def: Some new functions.
2290 * tests/gio-test.c: New file, to test GIOChannel and main loop.
2293 * tests/makefile.mingw.in: Add it.
2295 (Later the same night:)
2297 * giowin32.c: Compile in the debugging code all the time, but only
2298 output debug messages if told so. Add (unadvertised) function to
2299 turn on/off debug messages for a channel.
2301 (buffer_read): Don't loop. It is expected behaviour to return a
2302 short read occasionally, for instance when reading from
2303 pipes. It's the calling code that should loop if it *knows* how
2304 much the writer has written.
2306 * tests/gio-test.c: Correct the program's name in the output.
2307 (recv_message): Loop calling g_io_channel_read() (in a new
2308 function read_all()) until we have all the bytes we want (that we
2309 know the writer has written/will write).
2311 Thu Jul 27 05:15:11 2000 Tim Janik <timj@gtk.org>
2313 * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
2314 to cover both #ifdef branches.
2316 2000-07-26 Tor Lillqvist <tml@iki.fi>
2318 * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
2320 * glib.def: Add g_strlcpy, g_strlcat.
2322 * glibconfig.h.win32.in: Add gsize and gssize.
2324 Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org>
2326 * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
2327 updates the license headers to the GNU Lesser General Public License,
2328 as well as updating the copyright year to 2000.
2330 Wed Jul 26 05:47:48 2000 Tim Janik <timj@gtk.org>
2335 * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
2336 David Wheeler <dwheeler@ida.org>:
2338 * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
2339 safe manipulation of fixed-length string buffers.
2340 These functions were originally developed by Todd Miller to simplify
2341 development of security-related programs, and
2342 are available on many (but not all) Unix-like systems,
2343 including OpenBSD, FreeBSD, and Solaris. See
2344 ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
2345 and http://www.openbsd.org/security.html.
2346 If there's a strlcpy/strlcat on the system, it's called, otherwise
2347 an implementation is provided.
2349 * testglib.c: Added tests for g_strlcpy, g_strlcat.
2351 Wed Jul 26 05:03:24 2000 Tim Janik <timj@gtk.org>
2353 * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
2354 STDC_HEADERS is defined.
2357 * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
2359 * glib.h (g_return_if_reached): applied darin's fix for copy'n
2360 paste error in the macro implementation.
2362 Wed Jul 26 00:46:03 2000 Tim Janik <timj@gtk.org>
2364 * glib.h: applied patch from Darin Adler <darin@eazel.com> which
2365 supplies g_return_if_reached(), g_return_val_if_reached() and
2368 2000-07-22 Tor Lillqvist <tml@iki.fi>
2370 * build-dll: Fix resource handling, the resource file got left out
2371 from the DLL after all... Remove the WIN32APIHEADERS, not needed
2372 with current windres.
2374 * glib.def: Add new functions.
2376 2000-07-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2378 * gutils.c, glib.h: Mark the functions g_basename and g_dirname
2379 deprecated. They will issue an warning once, when compiled with
2380 G_ENABLE_DEBUG, but continue to work as before. Instead the
2381 functions g_path_get_basename and g_path_get_dirname should be
2382 used, which BOTH return newly allocated memory, that has to freed
2383 by g_free. The new g_path_get_basename now strips trailing slashes
2384 from the path. This fixes #5097. For discussion see
2385 http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
2387 * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
2388 functions instead of the old ones.
2390 * ghash.c, gscanner.c, glib.h: Mark the functions
2391 g_hash_table_freeze, g_hash_table_thaw and thus
2392 g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
2393 deprecated. They will issue an warning once, when compiled with
2394 G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
2395 http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
2397 2000-07-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2399 * configure.in, glib.h: glibconfig.h and glib.h now include files
2400 outside of the extern "C" block. Makes some C++ compiler
2401 happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
2403 Sat Jul 15 23:49:03 2000 Owen Taylor <otaylor@redhat.com>
2405 * glib/glib.texi: Remove incomplete start of info file -
2406 real docs are in RDP.
2408 Sat Jul 15 22:44:22 2000 Owen Taylor <otaylor@redhat.com>
2410 * configure.in: Add build/Makefile and
2411 build/win32/Makefile to AC_OUTPUT() so things build
2414 Sat Jul 15 09:11:46 2000 Tim Janik <timj@gtk.org>
2416 * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
2417 the function went off when the while (n--) loop failed due to
2418 n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
2420 2000-07-15 Tor Lillqvist <tml@iki.fi>
2422 * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
2423 to make it more self-contained. If your CVS client doesn't
2424 automatically get it, do a cvs get build in glib.
2426 * */makefile.mingw.in: Include make.mingw from build in the glib
2429 Fri Jul 14 16:26:35 2000 Owen Taylor <otaylor@redhat.com>
2433 Fri Jul 14 12:22:49 2000 Owen Taylor <otaylor@redhat.com>
2435 * configure.in Makefile.am glib-config.m4 glib.m4: Move
2436 glib-config to glib-config-2.0 move glib.m4 to
2439 * Makefile.am gobject/Makefile.am gmodule/Makefile.am
2440 gthread/Makefile.am tests/Makefile.am: Change
2441 library names to libglib-1.3.la, etc, so that we
2442 can distinguish glib-1.2 and glib-2.0 on the linkline.
2444 * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
2445 Move include files into /usr/include/glib-2.0.
2447 Thu Jul 6 18:54:49 2000 Owen Taylor <otaylor@redhat.com>
2449 * docs/Makefile.am (EXTRA_DIST): Remove info files
2452 2000-07-14 Tor Lillqvist <tml@iki.fi>
2454 * glib.def: Add g_error functions.
2456 * makefile.mingw.in: Add gbacktrace.o.
2458 * gbacktrace.c: No need to include <process.h>.
2460 2000-07-12 Havoc Pennington <hp@redhat.com>
2462 * glib.h: #include <gerror.h>
2464 * Makefile.am (include_HEADERS): Add gerror.h
2465 (libglib_la_SOURCES): Add gbacktrace.c
2467 * gbacktrace.c: Move g_on_error_query() in here (moved on the
2468 server, so history is preserved)
2470 * gerror.h: GError interface
2472 * gerror.c: GError implementation replaces stuff that's now in
2475 Sun Jul 9 21:20:45 2000 Owen Taylor <otaylor@redhat.com>
2477 * gunicode.h: Include stddef.h instead of stdlib.h
2479 2000-07-08 Tor Lillqvist <tml@iki.fi>
2481 * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
2483 * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
2485 * glib.def: Add two missing entry points.
2487 Thu Jul 6 15:35:28 2000 Owen Taylor <otaylor@redhat.com>
2491 * Makefile.am (EXTRA_DIST): Dist fixes.
2493 * configure.in: Moderate the warnings just a little bit.
2495 2000-07-05 Tor Lillqvist <tml@iki.fi>
2497 * README.win32: Update.
2499 Mon Jul 3 17:58:02 2000 Owen Taylor <otaylor@redhat.com>
2501 * gutf8.c (g_utf8_get_charset_internal): Fix up
2502 to correspond to configure.in checks.
2504 Mon Jul 3 17:18:19 2000 Owen Taylor <otaylor@redhat.com>
2506 * glib.h: Comment g_get_codeset() out of the header file
2507 temporarily. (Very similar to g_get_charset(), need
2508 to resolve the two.)
2510 2000-07-01 Tor Lillqvist <tml@iki.fi>
2512 * glib.def: Add new entry points.
2514 * makefile.{mingw,msc}.in: Add the new Unicode object files.
2516 Thu Jun 29 15:57:28 2000 Owen Taylor <otaylor@redhat.com>
2520 * Makefile.am: added snapcheck target to go along with snapshot
2522 * gstring.c glib.h (g_string_hash): Add g_string_hash to
2523 go along with g_string_equal.
2525 Tue Jun 27 12:40:23 EDT 2000 David A. Wheeler <dwheeler@dwheeler.com>
2527 * glib.h: Added g_string_equal for comparing GStrings;
2528 changed g_str_equal so it returns gboolean (instead of gint).
2530 * gstring.c: Modified GString implementation to support embedded
2531 ASCII NUL ('\0') characters, and implemented g_string_equal.
2533 * testglib.c tests/string-test.c: Added tests for g_string_equal
2534 and tests for proper handling of embedded ASCII NUL characters.
2536 Wed Jun 28 22:52:00 2000 Owen Taylor <otaylor@redhat.com>
2538 * Makefile.am (libglib_la_SOURCES): Fix
2539 gunichartable.h => gunichartables.h. (From Eric Limings)
2541 Fri Jun 23 17:20:26 2000 Tim Janik <timj@gtk.org>
2543 * glib.h: define gstring in terms of gchar*. this typedef reflects
2544 the type name of the primitive G_TYPE_STRING in the gobject module.
2546 Wed Jun 21 12:09:03 2000 Owen Taylor <otaylor@redhat.com>
2548 * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
2549 Makefile.am glib.h: Initial pass at adding unicode support
2550 functions. A few things still need to be implemented, a bit
2551 of cleanup needs to be done, tests need to be added, and
2552 the docs need to be finished, but this should allow replacing
2553 most or all use of libunicode.
2555 2000-06-06 Tor Lillqvist <tml@iki.fi>
2557 * giowin32.c (g_io_channel_win32_pipe_readable): If we are
2558 watching the same pipe for different conditions (with different
2559 callbacks), check them all. Only call the callback for G_IO_IN
2560 from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
2561 was added to gimplib.)
2563 2000-05-30 Tor Lillqvist <tml@iki.fi>
2565 * gutils.c (g_locale_get_codeset): Implement on Win32.
2567 * glib.def: Add g_get_codeset.
2569 * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
2570 renamed to makefile.mingw*.
2572 Tue May 30 16:01:32 2000 Owen Taylor <otaylor@redhat.com>
2574 * glib.h gutils.c: Move the g_locale_get_codeset() up in the
2575 header file to correspond to to comments about memory
2576 management. Rename to g_get_codeset() to avoid
2577 polluting the g_locale_* namespace, which probably
2578 would have g_locale_get_codeset (GLocale *locale).
2581 Mon May 29 14:10:35 2000 Owen Taylor <otaylor@redhat.com>
2583 * gutils.c (g_locale_get_codeset): Add function to get the
2584 codeset name for the current locale.
2586 * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
2588 Fri May 19 11:39:29 2000 Tim Janik <timj@gtk.org>
2590 * gutils.c (g_snprintf):
2591 (g_vsnprintf): added argument assertments.
2593 * gstring.c (g_string_assign): added argument assertments.
2594 (g_string_truncate): make len a guint.
2596 Fri May 19 09:00:44 2000 Tim Janik <timj@gtk.org>
2598 * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
2599 ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
2601 * gslist.c (g_slist_reverse): shut up compiler.
2603 * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
2605 * garray.c: remove index>=0 checks for unsigned indices.
2607 * gmain.c (g_idle_prepare): timeout assignment fix.
2609 * gtree.c (g_tree_node_rotate_right): shut up compiler.
2611 2000-05-13 Tor Lillqvist <tml@iki.fi>
2614 * tests/makefile.mingw.in
2615 * build-dll: Rename makefile.cygwin(.in) to
2616 makefile.mingw(.in), which better describes what it is. Move the
2617 build of gmodule, gthread and gobject DLLs to makefiles in those
2618 directories. Move resource file handling and build number bump to
2619 build-dll, where it sits much cleaner.
2622 * Makefile.am (EXTRA_DIST): Update accordingly.
2624 * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
2625 G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
2628 * glib.def: Add g_strcanon.
2630 * gtree.c (g_tree_node_rotate_left): Remove unused variables.
2632 * gwin32.c (g_win32_opendir): Remove unneeded statement.
2634 Thu May 4 02:04:46 2000 Tim Janik <timj@gtk.org>
2636 * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
2637 broken and require an empty arg, give it to them.
2639 Fri Apr 28 23:54:35 2000 Tim Janik <timj@gtk.org>
2641 * setup things for a new sub-library libgobject:
2643 * Makefile.am (SUBDIRS): added gobject
2645 * glib-config.in: feature -lgobject.
2647 * configure.in (AC_OUTPUT): generate gobject/Makefile.
2649 * glib.m4 (AM_PATH_GLIB): feature gobject module.
2651 * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
2653 Fri Apr 28 21:41:49 2000 Tim Janik <timj@gtk.org>
2655 * glib.h: added G_STRLOC macro.
2656 G_STRUCT_OFFSET(): signedness corrections.
2657 (G_CSET_DIGITS): list 0-9.
2658 * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
2664 (g_strreverse): return the modified string instead of void, so
2665 calls to these functions can be nested.
2666 (g_strcanon): new function, canonicalizes string according to
2667 a given character set.
2669 Fri Apr 28 19:45:16 2000 Tim Janik <timj@gtk.org>
2671 * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
2673 Wed May 10 19:52:44 2000 Owen Taylor <otaylor@redhat.com>
2675 * glib.m4: Print found version when test succeeds.
2677 2000-05-04 Tor Lillqvist <tml@iki.fi>
2679 * makefile.cygwin.in
2680 * tests/makefile.cygwin.in: Include the common makefile snippet
2681 from ../build/win32.
2683 Maybe CVSROOT/modules should be changed so that the 'build' module
2684 is included within the glib module (and gtk+, and gimp, and maybe
2685 others later), in the same way as the 'macros' module is included
2686 in lots of GNOME CVS modules?
2688 2000-05-02 Tor Lillqvist <tml@iki.fi>
2690 * glib.def: Add new functions.
2692 * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
2694 * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
2696 2000-04-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2698 * gasyncqueue.c: New File implementing an asynchronous queue to be
2699 used for asynchronous inter-thread communication.
2701 * gthreadpool.c: New File implementing a thread pool to be used
2702 for distributing work among several threads.
2704 * glib.h: Added the type and function declarations for these two
2707 * tests/threadpool-test.c: New File implementing a test for the
2708 thread pool. This also checks the asynchronous queue underlying
2711 * tests/Makefile.am: Changed accordingly.
2713 2000-04-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2715 * configure.in: Look for both pthread_create and pthread_join in
2716 the thread library. Some systems define one of them, but not both
2717 in libc. Arghh. Now we really start a thread and join it later and
2718 check, whether the thread to actually ran.
2720 * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
2721 g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
2722 parameter of g_tree_lookup and g_tree_remove and the 'data'
2723 parameter of g_tree_search. This function now takes a function of
2724 type GCompareFunc instead of GSearchFunc. This fixes Bug
2725 #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
2728 * glib.h: Removed declaration of GSearchFunc.
2730 * gmem.c: s/GSearchFunc/GCompareFunc/.
2732 2000-04-19 Tor Lillqvist <tml@iki.fi>
2734 * glib.def: Update entry point list.
2736 2000-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2738 * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
2739 for compilers with funny G_STMT_(START|END) macros.
2741 * tests/thread-test.c: Implemented a check for that.
2743 * gutils.c (g_getenv): Changed the win32 part of this function to
2744 be thread safe and to make the returned environment string
2745 persistent to match the UN*X behavior. This is again a response to
2748 * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
2749 as that seems to cause problems for some compilers and really
2752 Wed Apr 19 08:32:32 2000 Tim Janik <timj@gtk.org>
2754 * gscanner.c (g_scanner_new): make sure that
2755 scanner->config->cset_skip_characters is "" instead of NULL, so we
2756 don't segfault further on.
2758 2000-04-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2760 * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
2761 gpointer to gconstpointer for the functions
2762 g_(list|slist)_(remove|find|find_custom|index), as they do not
2763 change this parameter. This fixes bug #4836.
2765 * glib.h: Changed comment for g_getenv to reflect, that the
2766 returned memory must not be freed. Fixes bug #8983.
2768 2000-04-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2770 * configure.in, acconfig.h: Add configure test for garbage
2771 collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
2774 * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
2775 gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
2776 memory released by the user, but cached by GLib. This lets a
2777 garbage collector have a more correct view of the actually used
2780 * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
2781 functions, that reserve a certain amount of memeory for the array
2782 at creation time to avoid reallocation. Fixes bug #6707 from
2783 Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
2785 * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
2786 g_queue_create to g_queue_new in conformance to all other GLib
2789 2000-04-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2791 * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
2792 <marko@l-t.ee> for reporting that.
2794 2000-03-26 Tor Lillqvist <tml@iki.fi>
2796 * README.win32: Tell about using the mingw-based gcc, which is
2797 much easier than modifying the cygwin gcc to product mingw code
2798 for the msvcrt runtime.
2800 * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
2801 with a "pure" mingw gcc, too.
2803 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2805 * garray.c: Made GArray behave correctly. Now zero_terminated
2806 really means, that the element array->data[array->len] exists and
2807 is zeroed, and clear means that any unassigned elements obtained
2808 through g_array_set_size (the only way to get unassigned elements
2809 AFAICT) are zeroed. Added some macros to make the code more
2810 obvoius. Also made GPtrArray zero elements after
2811 g_ptr_array_set_size. This is done in a portbale way (assignment
2812 of NULL instead of just memsetting it to zero), though that might
2813 be more portability than we actually want.
2815 * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
2816 tests/Makefile.am: Added various win32 related *.in files to
2817 EXTRA_DIST to let 'make distcheck' procude all the corresponding
2818 files, which it silently fails to do currently.
2820 2000-03-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2822 * configure.in: After finding the right thread library (containing
2823 e.g. pthread_create) we now search for the right realtime library
2824 (containing e.g. sched_get_priority_max). Makes the output of the
2825 thread related libraries correct.
2827 * gtimer.c (g_usleep): The current implementation of g_usleep
2828 (simply calling select) doesn't work reliable for multi-threaded
2829 programs on some platforms (bad omen for the main loop....), so I
2830 changed the implementation for thread-using programs to wait for a
2831 GCond for the specified amount of time (NB: sleep and usleep are
2832 not MT-safe in general, because they often use signals).
2834 Wed Mar 22 16:49:57 2000 Owen Taylor <otaylor@redhat.com>
2836 * gmem.c (g_mem_chunk_area_compare): Fix indentation.
2838 2000-03-22 Elliot Lee <sopwith@redhat.com>
2840 * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
2841 comparing two pointers more than 4G apart.
2843 2000-03-22 Tor Lillqvist <tml@iki.fi>
2845 * gutils.c: Move Win32-only includes after inclusion of glib.h, so
2846 that G_OS_WIN32 is defined.
2848 * glibconfig.h.win32.in: Add GSystemThread.
2850 2000-03-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2852 * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
2853 <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
2854 path length might not be enough for the HURD. So I changed the
2855 loop to at least avoid an integer overflow, which could happen at
2858 * configure.in: Test for sched_yield as the native yield function
2859 first. Corrected typo g_thread_sleep -> g_usleep. Corrected
2860 message for the pthread_create test. Negative Priorities are
2861 allowed (and used on Solaris), so consider
2862 sched_get_priority_min failed only if it returns -1, not <0. Check
2863 for sched_get_priority_min also in -lrt, if not found in -lpthread
2864 alone and add -lrt to G_THREAD_LIBS then. Remove special case
2865 handling of priorities for older solaris versions and posix
2866 threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
2867 some of those changes.
2869 * config.guess, config.sub, ltconfig, ltmain.sh:
2870 Upgrade to libtool 1.3.4.
2872 2000-03-21 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2874 * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
2875 even when not needed by GLib. That's actually also the way, the
2876 GLib reference manual describes that macro. Therefore I had to
2877 remove the lonesome #include <glibconfig.h> in gutils.c, which
2878 doesn't seem to be needed there however. This change should make
2879 Ben Gertzfield <che@debian.org> happy.
2881 * gutils.c: Furthermore two warnings in gutils.c were voided,
2882 which crept in due to my last change.
2884 * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
2885 pathname. While this is an arbitrary value just like 2048, it
2886 seems to be enough (after all, even 4GB is an arbitrary value).
2888 2000-03-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2890 * gmain.c (g_main_poll): Warn in case of an error during the call
2891 to poll(2). Closes Bug#7564 as reported by David Helder
2892 <dhelder@umich.edu>.
2894 * gutils.c (g_get_current_dir): Make g_get_current_dir work on
2895 systems with unlimited pathname length like the HURD (It worked
2896 there before, but only for pathes shorter than 2048). Closes
2897 Bug#4525 as reported by Marcus Brinkmann
2898 <Marcus.Brinkmann@ruhr-uni-bochum.de>.
2900 2000-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2902 * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
2905 2000-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2907 * configure.in: Added the missing POSIX_NO_YIELD and
2908 POSIX_NO_PRIORITIES warning messages.
2910 * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
2911 real thread support. On solaris pthread_create can be linked to
2912 even in -lc, but it doesn't work then.
2914 * configure.in: Don't use priorities for threads, when the
2915 minimal/maximal priorities couldn't be determined at configure
2918 * configure.in, gthread.c: Always define GSystemThread in
2919 glibconfig.h to represent a system thread.
2921 * configure.in: Do not use native recursive threads, when
2922 possibe. We use some features, that they do not expose (namely the
2925 * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
2926 now implemented in a different way, which should be way
2927 faster. Alsothere are now functions g_static_rec_mutex_unlock_full
2928 and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
2931 * gthread.c (g_thread_self): Do not test the system_thread to be
2932 non-zero to speed things up.
2934 * gthread.c (g_mutex_init): Therefore set the system_thread of the
2937 * tests/thread-test.c: Rerun all tests once again, but this time
2938 we fool the system into thinking, that the available thread system
2939 is not native, but userprovided.
2941 2000-03-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2943 * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
2944 want the next and prev pointer of the inserted link to be NULL.
2946 2000-03-06 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2948 * configure.in: Another small change to the pthread_.. search
2949 pattern. Should work *now* for AIX.
2951 2000-03-04 Tor Lillqvist <tml@iki.fi>
2953 * gwin32.c (g_win32_error_message): New function that returns the
2954 message string for a Win32 error code.
2956 * glib.h: Declare it.
2958 * glib.def: Export it, plus g_node_copy.
2960 2000-03-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2962 * configure.in: Make the search for pthread_attr_... prototypes
2963 find names at the start of a line also, like it is on AIX. Thanks
2964 to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
2966 Wed Mar 1 10:39:39 2000 Tim Janik <timj@gtk.org>
2968 * gslist.c (g_slist_reverse): minor optimization.
2970 * testglib.c (g_node_test): added a couple of tests for
2974 * gnode.c (g_node_copy): new function to copy subtrees,
2975 supplied by dbsears@ix.netcom.com.
2976 changed iterator to walk the children list backwards, so
2977 we get down from O(n^2) to O(n).
2979 * gnode.c (g_node_first_sibling): applied patch from
2980 dbsears@ix.netcom.com to optimize access if node->parent
2983 * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
2984 assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
2985 thus breaks the original code.
2987 * merged changes from 1.2.7.
2989 Fri Jan 28 11:37:41 2000 Owen Taylor <otaylor@redhat.com>
2991 Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
2993 * gtimer.c (g_timer_elapsed): Never report negative times -
2996 * gmain.c (g_timeout_prepare): Guard against unexpected
2997 clock shifts by never setting a timeout of more than
2998 data->interval msecs.
3000 2000-02-27 Tor Lillqvist <tml@iki.fi>
3002 * glib.def: Add new functions.
3004 2000-02-23 Tor Lillqvist <tml@iki.fi>
3006 * README.win32: Add a missing step to the setup instructions for
3007 gcc-2.95.2. Thanks to Arnaud Charlet.
3009 * glib.def: Add missing entry point.
3011 2000-02-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3013 * configure.in: Changed GCC version test to also accept major
3014 versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
3017 Thu Feb 17 12:53:44 2000 Tim Janik <timj@gtk.org>
3019 * gstring.c: changed g_str_hash() to a 31 bit version based on
3020 a submission by Karl Nelson and hand optimized ad absurdum by
3023 * gstring.c: applied patch from havoc for new gstring functions,
3024 added some more sanity checks, coding style fixups.
3026 2000-02-13 Havoc Pennington <hp@pobox.com>
3028 * tests/string-test.c (main): Add tests for the new GString
3031 * testglib.c (main): Add tests for the new GString features
3033 * gstring.c (g_string_insert_len): New function; insert
3034 a given length of string at a given position.
3035 (g_string_append): reimplement in terms of g_string_insert_len
3036 (g_string_append_len): new function
3037 (g_string_insert_c): accept -1 for "pos" arg to mean "append"
3038 (g_string_append_c): reimplement in terms of g_string_insert_c
3039 (g_string_prepend): reimplement in terms of g_string_insert_len
3040 (g_string_prepend_len): new function
3041 (g_string_prepend_c): reimplement in terms of g_string_insert_c
3042 (g_string_insert): reimplement in terms of g_string_insert_len
3044 * glib.h: Declare g_string_insert_len, g_string_append_len,
3045 g_string_prepend_len
3047 Sun Feb 13 08:16:47 2000 Tim Janik <timj@gtk.org>
3049 * configure.in: wtf??? someone destroyed the configure.in, reverting to
3050 an older version from Feb 4 which apears to still work.
3052 2000-02-07 Tor Lillqvist <tml@iki.fi>
3054 * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
3057 * gmodule/Makefile.am
3058 * gthread/Makefile.am: Change accordingly.
3060 * makefile.cygwin: Corresponding changes, some cleanup.
3062 2000-02-05 Tor Lillqvist <tml@iki.fi>
3064 * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
3065 version info in the DLLs on Win32.
3067 * Makefile.am: Generate corresponding *.rc files and distribute
3070 * makefile.cygwin.in: Add rules to automatically bump a "build
3071 number" in the version info in the rc files each time the DLL is
3072 built. But do this only for the person who releases binaries. If
3073 others build the DLLs, the build number is set to zero.
3075 Fri Feb 4 19:36:05 2000 Tim Janik <timj@gtk.org>
3078 * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
3079 and g_dataset_id_remove_no_notify() to avoid second lookup for common
3082 2000-02-01 Tor Lillqvist <tml@iki.fi>
3085 * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
3086 functions for conversion between UTF-8 and the encoding expected
3087 by C runtime functions like open() and stat(), and returned by
3090 Implement them on Win32 where we use the system "ANSI" codepage,
3091 which might be single-byte or double-byte. On Unix, just skip the
3092 issue for now and provide dummy implementations that return a copy
3097 * glib.def: Minor updates.
3099 Wed Jan 26 05:24:38 2000 Tim Janik <timj@gtk.org>
3102 * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
3103 refetch the current time after invocation of poll() to cover up for
3104 the time spent in that function call.
3106 Fri Jan 21 10:18:24 2000 Owen Taylor <otaylor@redhat.com>
3108 * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
3109 the number of elements in an array.
3111 Sun Jan 9 13:28:36 2000 Tim Janik <timj@gtk.org>
3113 * gstrfuncs.c (g_strtod): correctly fetch the current locale,
3116 1999-12-16 Tor Lillqvist <tml@iki.fi>
3118 * gmodule/gmodule-win32.c: Use FormatMessage to translate system
3119 error codes into textual messages.
3121 1999-11-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3123 * glib.h (G_TRYLOCK): This of course should return TRUE in a
3124 program with a thread-disabled GLib.
3126 1999-11-18 Tor Lillqvist <tml@iki.fi>
3128 * glib.def: g_strjoin was missing.
3130 1999-11-16 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3132 * acconfig.h, config.h.win32.in, configure.in: Renamed
3133 GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
3136 * configure.in: Cope with systems, that have a pthread_t type,
3137 that is not a pointer. Hint from Karl Nelson
3138 <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
3139 for Solaris. Cope with systems, that have no default mutex
3140 initialize, like obviously most DCE systems.
3142 * glib.h, gthread.c: Changed the prototype of thread_create and
3143 thread_self to return the system thread into provided memory
3144 instead of a return value. This is necessary, as HPUX has a
3145 pthread_t, that is bigger than the biggest integral type there.
3147 * gthread.c: system_thread is no longer a pointer, but an memory
3148 area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
3149 zeroinitialization and the tests for zeroness accordingly.
3151 1999-11-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3153 * configure.in: Create docs/glib-config.1 from
3154 docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
3156 * glib-config.1: Removed from CVS, as it is a generated file.
3158 1999-11-08 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3160 * configure.in: Make the test for getpwuid_r work on newer AIX
3161 versions, too. Still works on Solaris and Linux. Patch from Craig
3162 Rodrigues <rodrigc@mediaone.net>.
3164 1999-11-08 Tor Lillqvist <tml@iki.fi>
3166 * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
3167 and LANG first. Some refinements to the sublanguage logic.
3169 1999-11-04 Tor Lillqvist <tml@iki.fi>
3171 * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
3172 (preprocessed source) files.
3174 1999-11-01 Tor Lillqvist <tml@iki.fi>
3177 * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
3178 to match the GLib naming conventions.
3183 * Makefile.am: Move the Win32-only functions to the new
3186 1999-10-31 Tor Lillqvist <tml@iki.fi>
3188 * gutils.c (gwin_getlocale): New Win32-specific function, returns
3189 a Unixish current locale string (en, zh_TW etc).
3191 * glib.h: Declare it.
3193 * glib.def: Export it.
3195 * testglib.c: Test it.
3197 * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
3198 make sure we don't call AllocConsole several times, which I think
3201 Sun Oct 31 18:55:01 1999 ape@spacetec.no (Asbjorn Pettersen)
3203 * gcache.c (g_cache_remove): Test if node is NULL.
3204 If not tested, GIMP's script-fu will crash.
3206 Sun Oct 17 18:11:40 1999 Tim Janik <timj@gtk.org>
3208 * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
3209 destroy() notification here as well.
3211 1999-10-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3213 * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
3214 is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
3216 Tue Oct 12 14:17:12 1999 Tim Janik <timj@gtk.org>
3218 * glib.h: removed useless g_string(x) macro that cluttered the namespace
3219 and was just a poor wrapper around the cpp '#' symbol, use #x if you
3220 need to work around this.
3221 added new macro G_STRINGIFY(arg) that will convert arg to a string,
3222 no matter whether it contains macros or not.
3224 1999-10-12 Tor Lillqvist <tml@iki.fi>
3226 * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
3229 * glib.h: Small Win32 comments improvement.
3231 Tue Oct 12 12:16:12 1999 Tim Janik <timj@gtk.org>
3233 * gmessages.c (g_printf_string_upper_bound): completly new
3234 implementation for printf string upper bounds calculation.
3235 we handle all glibc 2.1 format specifiers now, except for positional
3236 parameters (%nn$...) and wide char strings, plus some obscure upper
3237 case variants of the standard conversions. this fixes a lot of
3238 bugs in the old code, i.e.
3239 - NULL format strings
3240 - floats with exponents >+24
3242 - precision specifications in general
3243 - negative field widths
3244 - %p for SIZEOF_VOID_P > 4 platforms
3245 we now issue warnigns in places where the old code would have
3246 caused buffer overruns anyways. warnings are suppressed when invoked
3247 from glogv(), to avoid infinite recursions if someone passes a log
3248 message that comes with really obscure format specifications.
3250 Tue Oct 12 11:49:00 1999 Tim Janik <timj@gtk.org>
3252 * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
3254 Tue Oct 12 03:34:40 1999 Tim Janik <timj@gtk.org>
3256 * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
3257 mantissa and exponent of IEEE floats and doubles (required by the new
3258 version of g_printf_string_upper_bound). the unions are endian specific,
3259 we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
3260 and doubles are supported (used for storage) by at least intel, ppc and
3262 http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
3264 Mon Oct 11 18:01:49 1999 Tim Janik <timj@gtk.org>
3266 * configure.in: added additional checks to figure sizes of size_t,
3267 ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
3269 Wed Oct 6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
3271 * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
3273 1999-10-05 Tor Lillqvist <tml@iki.fi>
3275 * glib.h: (Win32) Drop the mapping of POSIX function names to the
3276 underscored versions, it's unnecessary after all. With MSVC we get
3277 them from oldnames.lib, with gcc-2.95 and mingw32 from
3278 -lmoldname-msvc. Add comment about what headers to include for
3281 * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
3283 * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
3285 * build-dll: Don't strip.
3287 * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
3289 * glib.def: Add g_thread_use_default_impl.
3291 Sun Oct 3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
3293 * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
3295 Sun Oct 3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
3299 * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
3300 and beos stuff right, but I haven't tested it. The respective
3301 porters should fix any screwups
3311 * testglib.c: use G_OS stuff
3313 Wed Sep 22 01:53:18 1999 Tim Janik <timj@gtk.org>
3315 * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
3316 avoid "ANSI C++ forbids implicit conversion from `void *' in argument
3317 passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
3318 for erroring out on this, instead of just issueing a warning).
3320 * glib.h (g_trash_stack_pop): use uncasted NULL again.
3322 Fri Sep 17 10:24:45 1999 Tim Janik <timj@gtk.org>
3324 * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied
3325 patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
3326 chunk's area sizes to be a multitiple of atom_size, and to
3327 eliminate the MAX_MEM_AREA restriction of 65536 bytes. we also
3328 catch cases where users pass an area size < atom size with a
3329 return_if_fail statement now (which is ok, because previously this
3330 lead to memory corruption anyways).
3332 Thu Sep 16 13:19:54 1999 Tim Janik <timj@gtk.org>
3334 * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
3335 pointer to cure ANSI C++ error.
3337 Mon Sep 13 23:25:59 1999 Tim Janik <timj@gtk.org>
3339 * gmessages.c (g_logv): in case we have to abort the program,
3340 debugging is enabled and we are not called recursively, try
3341 to abort with raise (SIGTRAP) first, so developers may ignore
3342 certain failure conditions during debugging stage.
3344 Thu Aug 26 15:09:36 1999 Tim Janik <timj@gtk.org>
3347 * gmodule/Makefile.am:
3348 * gthread/Makefile.am: added --export-dynamic so we can load dynmic
3349 modules, (required, according to the libtool 1.3.3 docu).
3351 1999-07-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3353 * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
3354 which /dev/random might do. Do not XOR the time, when getting the
3355 seed form /dev/urandom, as this is good itself. Prevent the
3356 initial seed from being zero, which causes the PRNG to produce
3357 only zeros. Hints from Colin Plumb <colin@pgp.com>.
3359 1999-08-17 Tor Lillqvist <tml@iki.fi>
3361 * glib.h (g_trash_stack_push): Add a cast.
3364 * glist.c: Make the inline functions static inline, and add
3365 separate extern wrappers. Not all compilers produce callable entry
3366 points for inline functions, even if gcc does.
3368 Sun Aug 15 02:47:14 1999 Tim Janik <timj@gtk.org>
3370 * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
3371 has not neccessarily been included prior to glib.h.
3373 Mon Aug 2 21:03:10 1999 Tim Janik <timj@gtk.org>
3375 * configure.in: added --enable-msg-prefix option.
3377 * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
3378 if --enable-msg-prefix was selected (use "(process:%u): " if
3379 g_get_prgname () returns NULL, along the lines of g_on_error_query).
3381 1999-08-03 Tor Lillqvist <tml@iki.fi>
3385 * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
3386 g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
3387 destination parameter, always g_malloc a new string. Fix bug in
3388 g_strcompress, octal digits were gobbled up without limit, should
3391 Sources that use g_strescape must have ifdefs to be compilable
3392 both with GLib 1.2 and 1.3.
3394 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
3397 * gstrfuncs.c: the #define for g_strescape interfered with the
3398 compilation of the function, so just remove the function and
3399 note that it's deprecated in the header
3401 1999-08-01 Tor Lillqvist <tml@iki.fi>
3403 * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
3405 * glib.h: Declare and document them. Define the deprecated
3406 g_strescape as a macro that calls g_strecpy.
3408 * tests/strfunc-test.c (main): Test them.
3410 * makefile.{cygwin,msc}.in
3411 * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
3414 * glib.def: Additions and removals.
3416 * README.win32: Improve gcc build instructions.
3418 * build-dll: Also build import library for MSVC.
3420 Sat Jul 24 20:11:35 1999 Tim Janik <timj@gtk.org>
3422 * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
3423 * incorporated proposed cleanups from gtk-devel-list.
3425 * bumped version number to GLib-1.3.1
3431 removed string tokenisation (we got g_strsplit() and g_strjoin()
3432 already) and readline functions.
3433 s/g_list_delete/g_list_delete_link.
3434 implemented g_slist_delete_link.
3435 removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
3436 macro, g_atexit() is provided for public consumption.
3437 added GTrashStack inline utility functions.
3438 reimplement double eneded queues.
3439 removed GStack implementation, people can use a queue or a (singly)
3440 linked list for this task.
3441 deprecated g_strescape(), we need the SunOS variants here.
3443 * gdate.c: added DEBUG_MSG() macro to wrap old messages.
3447 * upgrade to libtool 1.3.3.
3449 1999-07-21 Tor Lillqvist <tml@iki.fi>
3451 Win32: With the latest gcc (2.95, pre-release), we can have binary
3452 compatibility with MSVC by using the switch -fnative-struct. No
3453 longer build DLLs with .gcc in the name when using gcc.
3455 * README.win32: Renew gcc build instructions.
3457 * build-dll: Comments change, handle also .a files.
3459 * makefile.cygwin.in
3460 * tests/makefile.cygwin.in: Remove .gcc from DLL name.
3462 1999-07-13 Tor Lillqvist <tml@iki.fi>
3464 * README.win32: Correct URL for mingw runtime sources.
3466 * build-dll: Combine commands with &&.
3468 * glib.h: Map also rmdir() and hypot() for MSVCRT library.
3470 * makefile.cygwin.in
3471 * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
3472 now called *.gcc.dll, to avoid binary incompatibilities with
3473 MSVC-compiled versions.
3475 * makefile.msc.in: Cosmetics.
3477 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3479 * configure.in: Test for pthread_join rather than for
3480 pthread_create to determine the right thread-lib. Makes it work on
3481 mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
3482 <javu@piano.ux.phys.jyu.fi>.
3484 1999-07-02 Tor Lillqvist <tml@iki.fi>
3486 * README.win32: Note about need to fix another bug in the mingw32
3489 * makefile.msc.in: Debugging turned on via an nmake variable,
3490 no need to edit the makefile.
3492 1999-07-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3494 * configure.in, acconfig.h, gutils.c: Added a g_memmove
3495 replacement for platforms without memmove, where bcopy can't
3496 handle overlapping copies and the corresponding checks, which is
3497 taken form the PERL Configure routine.
3499 * glib.h: Updated the commentary about g_memmove to be right and
3502 * configure.in: Removed test for rand_r, as it isn't used anymore.
3504 1999-06-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3506 * glib.h, grand.c: Finally removed the g_random_normal and
3507 g_rand_normal functions.
3509 1999-06-28 Tor Lillqvist <tml@iki.fi>
3511 * glib.def: Add missing export of g_strncasecmp.
3513 1999-06-21 Jose Mercado <jmercado@mit.edu>
3515 * glib.spec.in: Changed version number (1.1->1.3) in files section
3516 to allow rpm to build packages again.
3518 1999-06-21 Tor Lillqvist <tml@iki.fi>
3520 * README.win32: Update the pthreads snapshot version we want.
3521 Advice how to hand-expand the makefile.*.in files.
3523 * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
3526 * glib.def: Add new functions.
3528 * glibconfig.h.win32.in: Update the pthreads snapshot version.
3531 * gthread.c: Include config.h, guard inclusion of unistd.h. When
3532 using gcc on Win32, g_thread_functions_for_glib_use must be marked
3533 for export here, too.
3535 * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
3536 only has millisecond granularity, though).
3538 * makefile.cygwin.in
3539 * makefile.msc.in: Update pthreads snapshot version. File
3540 name changes. Remove testgthread.
3542 * tests/makefile.cygwin.in
3543 * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
3545 1999-06-18 Jeff Garzik <jgarzik@pobox.com>
3547 * tests/Makefile.am: Re-order tests in alpha order.
3549 1999-06-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3551 * configure.in: Changed test for pthread_attr_setstacksize from
3552 AC_TRY_COMPILE to AC_TRY_LINK.
3554 1999-06-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3556 * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
3557 Completed the thread support in GLib. Thread creation,
3558 prioritizing threads, yielding, joining threads as well as
3559 reader/writer locks and recursive mutexes are now in place. Please
3560 test heavily on your platform. It is so far tested on
3561 Linux/i386/pthreads, Solaris/Sparc/pthreads and
3562 Solaris/Sparc/solaristhreads.
3564 * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
3565 thread safe sleeping. (sleep() is not MT-safe at all!)
3567 * gutils.c: Avoid compiler warning.
3569 * tests/Makefile.am, tests/thread-test.c: New program to test some
3570 aspects of the thread implementation.
3572 * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
3575 * configure.in: Purged all appearances of nspr.
3577 Wed Jun 2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
3583 * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
3585 1999-05-29 Tor Lillqvist <tml@iki.fi>
3587 * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
3589 * glib.h: Document g_strescape.
3591 1999-05-12 Tor Lillqvist <tml@iki.fi>
3593 * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
3596 * README.win32: Advice also to remove -lmoldname in the
3597 patch to the egcs-1.1.2 spec file.
3599 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3601 * gmodule/Makefile.am: Another small fix.
3603 1999-05-08 Tor Lillqvist <tml@iki.fi>
3605 * Makefile.am tests/Makefile.am: Correct rules for making the
3606 win32-related files that are made from corresponding .in files.
3607 Is there a cleaner way than explicitly writing rules that invoke
3610 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
3613 * ltmain.sh: upgrade to libtool 1.3.3
3615 1999-06-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3617 * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
3618 is..... and to..... macros, which take unsigned chars, not chars!
3619 Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
3621 Thu Jun 3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
3623 * gerror.c (g_on_error_query): check isatty() before querying so
3624 we don't loop endlessly
3626 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
3632 * ltmain.sh: upgrade to libtool 1.3.2
3634 1999-05-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3636 * gmain.c: provide a poll prototype for SunOS, as they do not do
3637 it self. Hint from Christian Parg <cparg@fs-design.de>.
3639 Tue May 25 12:23:07 1999 Owen Taylor <otaylor@redhat.com>
3641 * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
3642 (Reported by Charles Levert <charles@comm.polymtl.ca>)
3644 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3646 * Released GLib 1.2.3
3648 1999-05-08 Tor Lillqvist <tml@iki.fi>
3650 * Makefile.am tests/Makefile.am: Correct rules for making the
3651 win32-related files that are made from corresponding .in files.
3652 Is there a cleaner way than explicitly writing rules that invoke
3655 Sat May 1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
3661 * ltmain.sh: upgrade to libtool 1.3
3663 1999-04-30 Tor Lillqvist <tml@iki.fi>
3665 * Makefile.am: Don't distribute glibconfig.h.win32.in, but
3666 glibconfig.h.win32. Generate it when making a dist. Also generate
3667 makefile.msc and config.h.win32 from corresponding .in files when
3670 * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
3671 @GLIB_BINARY_AGE@ (needed in config.h.win32).
3673 * glibconfig.h.win32.in: Use static mutex structure and initial
3674 value corresponding to the 1999-04-07 snapshot of pthreads-win32.
3676 * tests/Makefile.am: Distribute makefile.msc. Generate it when
3679 * tests/makefile.msc.in: New file.
3681 * tests/node-test.c: Include <stdlib.h> for exit().
3683 Thu Apr 29 02:16:36 1999 Tim Janik <timj@gtk.org>
3685 * gstrfuncs.c: minor code cleanups.
3687 Tue Apr 27 13:11:29 1999 Owen Taylor <otaylor@redhat.com>
3689 * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
3690 the events field so we don't give IRIX fits.
3692 Tue Apr 20 08:42:22 1999 Tim Janik <timj@gtk.org>
3694 * gscanner.c (g_scanner_unexp_token): behave conservative with
3695 G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
3696 to be "null" in that case.
3698 1999-04-20 Havoc Pennington <hp@pobox.com>
3700 * gutils.c (g_vsnprintf): When using the vsnprintf()
3701 implementation, '\0'-terminate the resulting string
3702 and return its length rather than -1.
3704 Mon Apr 19 13:42:21 1999 Owen Taylor <otaylor@redhat.com>
3706 * gmain.c (g_main_iterate): Added missing
3707 #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
3710 1999-04-18 Havoc Pennington <hp@pobox.com>
3712 * gutils.c (g_snprintf): When using the vsnprintf()
3713 implementation, '\0'-terminate the resulting string
3714 and return its length rather than -1.
3716 Fri Apr 16 06:52:07 1999 Tim Janik <timj@gtk.org>
3718 * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
3719 expected token as well, so we get "- expected end of file" instead of
3720 "- expected (unknown) token <0>".
3722 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3724 * Released GLib 1.2.2
3726 1999-04-12 Elliot Lee <sopwith@mh69.mh.cuc.edu>
3728 * g_strchug(): s/strcpy/memmove/
3730 1999-04-12 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3732 * configure.in: Adjusted the test for an unimplemented
3733 getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
3735 Sun Apr 11 15:07:34 1999 Tim Janik <timj@gtk.org>
3737 * configure.in: bumped versin number to GLib 1.2.2, interface 2,
3742 Sun Apr 11 14:37:06 1999 Tim Janik <timj@gtk.org>
3744 * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
3746 Sat Apr 10 19:30:50 1999 Tim Janik <timj@gtk.org>
3748 * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
3749 and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for
3750 compile time string concatenation.
3752 Thu Apr 8 19:53:19 1999 Owen Taylor <otaylor@redhat.com>
3754 * gmain.c (g_main_iterate): Check for two threads
3755 calling g_main_iterate at once.
3757 * gmain.c: If the set of poll file descriptors changes
3758 during a call to poll(), abort that call, and start
3759 a new poll. My test program still segfaults
3760 obscurely on glibc 2.0 (in read()!!!), but now it works on
3761 glibc 2.1, so I'll blame something else for the other segfault.
3763 1999-03-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3765 * configure.in: Fixed slight bug, that made configure hang on some
3766 systems. Please do not merge this into 1.3 branch. It's taken care
3767 of differently there. Info from J. Rhett Aultman
3768 <cuplan@alley.gator.net>
3770 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3772 * Released GLib 1.2.1
3777 sanity_check: updated
3779 * glibconfig.h.win32.in:
3781 docs/glib-config.1.in:
3782 docs/Makefile.am: Added files used to generate new files.
3784 * glibconfig.h.win32:
3785 docs/glib-config.1: Removed, now generated.
3787 * configure.in: Added to output now-generated files.
3789 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
3791 * giounix.c: add user_data param to check and prepare functions
3793 Mon Mar 22 03:54:43 1999 Tim Janik <timj@gtk.org>
3796 * gmain.c: add user_data to the GSource ->check and ->prepare
3797 functions, so it can be used to e.g. pass a GPollFd.
3798 (g_main_poll): only add poll records with an events mask != 0 to the
3799 fd_array. don't even bother calling poll_func() if fds=timeout=0.
3800 added debugging printouts around poll_func() invokation that can be
3801 enabled with #define G_MAIN_POLL_DEBUG.
3803 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
3809 * ltmain.sh: upgrade to libtool 1.2f
3811 * autogen.sh: libtool is not required to autogen glib
3813 * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
3816 1999-03-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3818 * gmem.c: Fixed another stupid fault of mine: Did
3819 s/g_static_/g_private_/g
3821 Wed Mar 17 03:17:42 1999 Tim Janik <timj@gtk.org>
3823 * configure.in bumped versin number to GLib 1.2.1, interface 1,
3828 * glib.h: added GLIB_CHECK_VERSION() macro similar to
3829 GTK_CHECK_VERSION().
3831 Sun Mar 14 17:50:35 1999 Tim Janik <timj@gtk.org>
3833 * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
3834 to g_return_if_fail().
3836 (g_mem_chunk_print):
3837 (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
3840 * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
3841 to g_return_if_fail().
3842 * grel.c (g_*): changed a bunch of g_assert() statements to
3843 g_return_if_fail() and added some extra ones to check relation != NULL.
3845 1999-03-12 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3847 * configure.in: Also accept _Pctime_r instead of ctime_r, while
3848 seraching for the right `_REENTRANT' flag. This is for Digital
3849 UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
3851 Tue Mar 9 23:25:50 1999 Tim Janik <timj@gtk.org>
3853 * configure.in: check for working realloc (NULL,).
3854 * gmem.c (g_realloc): use malloc() for initial allocation on systems
3855 where realloc(NULL,) will not work (this is the case on SunOS, reported
3858 Mon Mar 8 07:42:08 1999 Tim Janik <timj@gtk.org>
3860 * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
3861 flag around the call to g_hook_free() to avoid spurious
3862 warnings (happens during destruction phase).
3864 1999-03-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3866 * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
3867 from config.h.win32 to glibconfig.h.win32
3869 * acconfig.h, configure.in, config.h.win32: Added test for DCE
3870 versions of mutex_trylock and cond_timedwait. The win32 versions
3871 are posix, aren't they?
3873 1999-03-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3875 * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
3876 Friedrich Dominicus <Friedrich.Dominicus@inka.de>
3878 1999-03-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3880 * gutils.c (g_get_any_init): Fixed yet another bloody
3881 implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
3882 <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
3883 test better than that, but have no idea, how to do that easily.
3885 Sun Feb 21 22:11:51 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3887 * Released GLib 1.2.0
3891 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3893 * *.[ch]: inserted additional note to look for ChangeLog and
3894 AUTHORS file for a log of modifications.
3896 Sun Feb 21 14:01:00 1999 Dr Mike <drmike@redhat.com>
3898 * Made specfile generated, tweaked slightly
3900 Sat May 8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3904 gthread/Makefile.am: Better testing reveals better
3905 methods. Fixes for BeOS.
3907 Sat May 8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3918 gmodule/gmoduleconf.h.in
3919 gmodule/gmodule-beos.c
3920 gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
3922 1999-05-06 Tor Lillqvist <tml@iki.fi>
3924 * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
3925 config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
3926 New files, used to generate corresponding non-.in files when
3927 making a dist. This is just so the version numbers will be kept in
3928 synch automatically.
3930 * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
3931 @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
3933 * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
3935 * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
3938 * glib.def: Add a couple of functions.
3940 Sat May 1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
3946 * ltmain.sh: upgrade to libtool 1.3
3948 1999-04-25 Tor Lillqvist <tml@iki.fi>
3950 * README.win32: More editing.
3951 * build-dll: Use gcc, not ld to link.
3952 * glib.h: On native Win32 use _unlink().
3953 * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
3955 * gstring.c: Include <io.h> on Win32 for _read prototype.
3956 * gutils.c: Remove old IO channel code (was in #if 0).
3957 * makefile.cygwin: Don't need to link with kernel32 and msvcrt
3958 explicitly, they are included anyway.
3960 1999-04-24 Tor Lillqvist <tml@iki.fi>
3962 Support added for building using a GNU toolchain on Win32,
3963 i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
3965 * README.win32: Updated.
3966 * build-dll makefile.cygwin tests/makefile.cygwin: New files.
3967 * glib.h glib.def glibconfig.h.win32: Slight updates.
3968 * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
3969 * gmain.c gutils.c testglib.c tests/string-test.c: Test for
3970 NATIVE_WIN32, not _MSC_VER.
3971 * gmutex.c: Must declare g_thread_functions_for_glib_use as
3972 exported (using the GUTILS_C_VAR macro).
3973 * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
3974 * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
3975 * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
3976 value of g_thread_functions_for_glib_use (?).
3977 * makefile.msc tests/makefile.msc: Cosmetics.
3979 Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
3981 * glib.h: Fix typo in g_string_ncasecmp macro (by me).
3982 Add b_string_strncasecmp macro.
3984 1999-04-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
3986 * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
3987 the new initinal bufsize for getpwuid_r on systems, that support
3988 this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
3990 Sat Apr 17 20:55:13 BST 1999 Tony Gale <gale@gtk.org>
3992 * glib.h, gstring.c: Add new g_string functions for reading
3993 from file/socket descriptors, and tokenising strings.
3995 Added various g_string macros.
3997 Tue Apr 13 23:28:32 1999 Tor Lillqvist <tml@iki.fi>
3999 * README.win32: Mention the tests directory.
4001 * glib.def: Add the functions from grand.c.
4003 * glibconfig.h.win32: Add unsigned max values, and the format
4006 * makefile.msc: Add grand.
4008 * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
4010 * tests/makefile.msc: New file.
4012 1999-04-12 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4014 * glib.h: Moved struct declaration up. Style fixes.
4016 * grand.c: Style fixes. Only try to open /dev/random once.
4018 * tests/rand-test.c (main): New tests; Slight bug fix.
4020 1999-04-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4022 * grand.c, tests/rand-test.c: New files to implement the Mersenne
4023 Twister Pseudo Random Number Generator.
4025 * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
4028 Thu Apr 8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
4030 * Released GLib 1.3.0
4032 1999-03-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4034 * configure.in: Added a check for the right format to printf and
4035 scanf long longs. It is %qi instead of %lli on FreeBSD for
4038 1999-03-28 Raja R Harinath <harinath@cs.umn.edu>
4040 * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
4041 after the rule is fired.
4042 (install-exec-local): Install glibconfig.h only if the contents
4043 are different from the currently installed glibconfig.h.
4045 1999-03-26 Raja R Harinath <harinath@cs.umn.edu>
4047 * Makefile.am (configexecincludedir): Rename from
4048 configincludedir so that glibconfig.h will be installed
4049 as part of `make install-exec'.
4051 Thu Mar 25 22:45:47 1999 Tor Lillqvist <tml@iki.fi>
4053 * config.h.win32: Update version numbers.
4055 * glibconfig.h.win32: Update version numbers and pthreads-win32-
4056 related magic values.
4058 * README.win32: Some improvements.
4060 * makefile.msc: Add gqueue and gstack. Correct version number.
4062 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
4068 * ltmain.sh: upgrade to libtool 1.2f
4070 * autogen.sh: libtool is not required to autogen glib
4072 * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
4075 1999-03-18 Jeff Garzik <jgarzik@pobox.com>
4077 * glib.def: Add new g_list, g_stack, g_queue functions.
4079 1999-03-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4081 * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
4082 to hold various defines to get the right thread implementation on
4083 different platforms. Also look in -ldce for pthread_create. Should
4084 make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
4085 Tunon" <emilio_tunon@nl.compuware.com>.
4087 1999-03-17 Jeff Garzik <jgarzik@pobox.com>
4089 * gstack.c, gqueue.c:
4090 Add copyright, clean up code a bit.
4092 1999-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4094 * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
4095 platforms with only /usr/include/values.h.
4097 * acconfig.h: Removed unnecessary macros.
4099 * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
4100 from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
4103 * configure.in: Also accept _Pctime_r instead of ctime_r, while
4104 seraching for the right `_REENTRANT' flag. This is for Digital
4105 UNIX 4.0d. Taken from glib 1.2 branch.
4107 Wed Mar 17 03:14:56 1999 Tim Janik <timj@gtk.org>
4109 * glib.h: added GLIB_CHECK_VERSION() macro similar to
4110 GTK_CHECK_VERSION().
4112 Wed Mar 17 01:46:28 1999 Tim Janik <timj@gtk.org>
4114 * merges from glib-1-2:
4116 Sun Mar 14 17:50:35 1999 Tim Janik <timj@gtk.org>
4118 * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
4119 to g_return_if_fail().
4121 (g_mem_chunk_print):
4122 (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
4125 * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
4126 to g_return_if_fail().
4127 * grel.c (g_*): changed a bunch of g_assert() statements to
4128 g_return_if_fail() and added some extra ones to check relation != NULL.
4130 Tue Mar 9 23:25:50 1999 Tim Janik <timj@gtk.org>
4132 * configure.in: check for working realloc (NULL,).
4133 * gmem.c (g_realloc): use malloc() for initial allocation on systems
4134 where realloc(NULL,) will not work (this is the case on SunOS, reported
4137 Mon Mar 8 07:42:08 1999 Tim Janik <timj@gtk.org>
4139 * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
4140 flag around the call to g_hook_free() to avoid spurious
4141 warnings (happens during destruction phase).
4143 1999-03-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4145 * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
4146 Friedrich Dominicus <Friedrich.Dominicus@inka.de>
4148 1999-03-16 Timur Bakeyev <mc@bat.ru>
4150 * configure.in: Fix problem with pthread_create in libc, as running
4151 "gcc test.c -l " is not legal.
4153 1999-03-16 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4155 * tests/type-test.c: Added a test for the
4156 G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
4159 * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
4162 * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
4163 know how to handle these on platforms with /usr/include/values.h,
4164 but without /usr/include/limits.h. Please someone add this.
4167 1999-03-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4169 * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
4170 use for printf and (much more important) scanf format strings for
4171 the corresponding GLib types.
4173 * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
4174 however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
4175 they are different for printf (f for both) and scanf (f for float,
4176 lf for double). Defining G_INT_FORMAT makes sense however, as we
4177 might want to define gint to something different than int someday
4178 in the future. Idea from Sascha Brawer <sb@adasys.ch>.
4180 1999-03-14 Jeff Garzik <jgarzik@pobox.com>
4183 Commented out debugging output.
4185 * tests/Makefile.am, tests/date-test.c:
4186 Added test of the GDate module, based closely on testgdate.c.
4188 * tests/Makefile.am:
4189 Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
4191 1999-03-14 Raja R Harinath <harinath@cs.umn.edu>
4193 * configure.in (glibconfig.h): Remove widechar tests and defines.
4194 (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
4195 * gerror.c (fd_mask): Remove conditional typedef. It is not used
4196 elsewhere in the file.
4197 * gmain.c (fd_mask): Likewise.
4199 1999-03-12 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4201 * configure.in: Test for posix threads first, then for dce threads.
4203 1999-03-11 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4205 * configure.in: Revamped the thread configure stuff. Now dce
4206 threads (old posix draft) are recogniced. This is necessary,
4207 because dce threads are in fact working quite differently from
4208 posix threads. Also changed the conditions for checking for MT
4209 safe functions a bit, because G_THREADS_IMPL_NONE still have to
4210 compile thread safe. NOTE: Please do not commit my change to
4211 glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
4212 as the current change will take care of that too.
4214 Tue Mar 9 14:37:32 1999 Jeff Garzik <jgarzik@pobox.com>
4216 * Makefile.am, glib.h, gstack.c, gqueue.c,
4217 tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
4218 Added stack, queue ADTs and related tests.
4221 New g_list_delete() function.
4223 Sat Mar 6 11:03:08 1999 Asbjorn Pettersen <ape@lrdpf.spacetec.no>
4225 * gutils.c (g_get_any_init): add OS/2 changes.
4226 change '\\' in HOME to '/'.
4228 1999-03-03 Josh MacDonald <jmacd@spin.dsl.pacbell.net>
4230 * glib.def: g_spaced_primes_closest was omitted here, so I
4231 couldn't build Xdelta on Windows.
4233 1999-03-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4235 * gutils.c (g_get_any_init): Fixed yet another bloody
4236 implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
4237 <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
4238 test better than that, but have no idea, how to do that easily.
4240 Sat Feb 27 01:18:47 1999 Tim Janik <timj@gtk.org>
4242 * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
4245 * configure.in: set glib version to 1.3.0.