1 Fri Jan 1 20:43:19 EST 1999 Jeff Garzik <jgarzik@pobox.com>
3 * glib.h: added g_strndup_a macro
6 Added tests for new alloca-based string routines.
7 Reformatted a couple strings.
9 Sat Jan 2 02:20:59 1999 Tim Janik <timj@gtk.org>
13 (g_hook_list_invoke_check):
14 (g_hook_list_marshal_check):
15 (g_hook_list_marshal): avoid unneccessary extra hook referencing (the
16 explicit hook referencing became unneccessarry with my changes from
17 Mon Dec 21 21:48:29 1998).
19 * gmain.c (g_main_iterate): fixed reference counting leaks with
20 premature loop aborts.
22 Fri Jan 1 22:47:44 1999 Tim Janik <timj@gtk.org>
24 * gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
25 as G_TOKEN_IDENTIFIER.
27 Fri Jan 1 17:09:19 EST 1999 Jeff Garzik <jgarzik@pobox.com>
29 * configure.in, glib.h:
30 Added two new alloca-based function macros, g_strdup_a and
31 g_strconcat_a. These are stack-based and much faster than
32 their g_malloc-based counterparts. Kudos to Ulrich Drepper
35 Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
37 * Released GLib 1.1.11
43 docs/glib-config.1: version=1.1.11
45 1998-12-30 Raja R Harinath <harinath@cs.umn.edu>
47 * glib.h (G[U]INT64_FROM_{LE,BE}):
48 Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
50 Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
53 * configure.in: provide defaults for POLL sysdefs, simple enums
54 don't work with bitwise logic. Reported by Daniel Skarda
55 <0rfelyus@atrey.karlin.mff.cuni.cz>
57 Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
63 docs/glib-config.1: version=1.1.10
65 Wed Dec 23 04:18:11 1998 George Lebl <jirka@5z.com>
67 * gmain.c: (g_get_current_time) don't cast to timeval since
68 timeval is for some reason not always a struct of longs, weird
70 Tue Dec 22 10:32:11 1998 Tim Janik <timj@gtk.org>
72 * ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
75 Mon Dec 21 21:48:29 1998 Tim Janik <timj@gtk.org>
78 * gmain.c: there was a reference count race for hooks during invocation
79 loops. since all (known) hook loop implementations, do currently start
80 out with g_hook_first_valid() and iterate with g_hook_next_valid(),
81 g_hook_first_valid() will now return a referenced hook, and
82 g_hook_next_valid() will "eat" that, and eventually transfer it to
83 the next hook. <sigh> unfortunately this requires g_hook_next_valid()
84 to take the hook_list as additional argument.
86 * gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
88 Mon Dec 21 03:48:04 1998 Tim Janik <timj@gtk.org>
90 * gmain.c (g_main_iterate): default initialize source_timeout with -1
91 so we have a sane timeout value if (*prpare) doesn't set it.
93 Sat Dec 19 16:56:02 1998 Owen Taylor <otaylor@redhat.com>
95 * glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
98 Sat Dec 19 16:56:02 1998 Owen Taylor <otaylor@redhat.com>
100 * gmain.c (g_main_poll): Allocate space for pollfd's
101 _after_ adding poll wake-up-pipe record.
103 * gmain.c (g_main_add_poll): Changed name
104 of internal function g_main_add_poll_unlocked()
105 back from the non-sensical g_main_add_unlocking_poll().
107 Sat Dec 19 06:25:55 1998 Tim Janik <timj@gtk.org>
109 * glib.m4: fixed a minor bug that would let configures bail out
110 if the MODULES argument contained newlines.
112 * acglib.m4: new file to be included by configure.in. it holds
113 special GLIB_ autoconfiguration macros, eventually some of the
114 easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
115 GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
117 Sat Dec 19 04:27:17 1998 Tim Janik <timj@gtk.org>
119 * fixed up sys/poll.h and sys/types.h inclusions.
121 Sat Dec 19 03:10:50 1998 Tim Janik <timj@gtk.org>
123 * fixed up gthread includes, cleaned up glibconfig.h a little bit.
125 Fri Dec 18 12:51:39 1998 Owen Taylor <otaylor@redhat.com>
127 * gmain.c: Fix errors in computation of timeout
128 expiration times > 1sec.
130 1998-12-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
132 * configure.in (have_threads): Changed the last pthread_cond_init
133 to pthread_attr_init.
135 Fri Dec 18 00:03:17 1998 Tim Janik <timj@gtk.org>
139 (g_main_is_running): new function to check whether a main loop has been
141 (g_main_new): added a gboolean argument to determine whether the loop
142 should be considered initially running or not. however, g_main_run ()
143 will still reset the main loops running state to TRUE upon initial
147 (g_main_iterate): documented this function's purpose in 5 steps.
148 for step 2), flag sources as G_SOURCE_READY even if !dispatch and
149 check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
150 on them multiple times.
152 Thu Dec 17 23:43:47 1998 Tim Janik <timj@gtk.org>
154 * gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
155 first, <sigh> (sorry Snorfle, i should have let you know in the first
157 (g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
158 destructor when destroying a source.
160 1998-12-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
162 * garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
163 reported by Alexander Larsson <alla@lysator.liu.se>.
165 * gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
167 Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
169 * Released GLib 1.1.9
176 docs/glib-config.1: version=1.1.9
178 Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
181 giounix.c: s/g_main_poll_add/g_main_remove_add/g
182 s/g_main_poll_remove/g_main_remove_poll/g
183 s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
186 Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
188 * configure.in: check for pthread_attr_init in all cases, du4
189 needs this since most of the other functions are just #defines
191 Thu Dec 17 04:10:49 1998 Tim Janik <timj@gtk.org>
193 * glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
194 trailing semicolon with a bogus function declaration, instead
195 of with a bogus variable declarations, so we avoid unused
198 Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
200 * Released GLib 1.1.8 (CVS tag is GLIB_1_1_8a)
202 1998-12-16 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
204 * giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
206 1998-12-16 Joel Becker <jlbec@ocala.cs.miami.edu>
208 * glib.h, gscanner.c: changed func_data to user_data in
209 g_scanner_scope_symbol_foreach and associated friends, because
210 AIX headers #define func_data.
212 1998-12-16 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
214 * configure.in: Fixed stupid bug, that made
215 g_static_mutex_lock(*mutex) not work as expected.
217 * docs/glib-config.1: Updated to reflect the existence of gthread.
219 * gmain.c (g_main_poll_add_unlocking): Changed
220 g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
221 semantic, (indeed, main_loop must be locked, when calling this
222 function). Removed the unlocking from the end of that function, as
223 that is not right. Made a 'HOLDS' comment above the function.
225 Wed Dec 16 03:16:58 1998 Tim Janik <timj@gtk.org>
227 * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
229 * glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
230 g_trylock() to G_TRYLOCK(), since these are macros that expand to
231 nothing with --disable-threads.
232 changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
233 G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
234 changed semantics of g_thread_supported to g_thread_supported() so it
235 can be used as a function like g_module_supported(). the actuall
236 definition is still a macro that expands into a variable for
237 performance reasons though.
238 various indentation and coding style cleanups.
240 * configure.in: added --enable-threads that defaults to yes.
242 * gmutex.c: changed tests g_thread_supported to g_thread_supported (),
243 changed variable settings of g_thread_supported
244 to g_threads_got_initialized.
258 changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
259 s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
261 Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
268 docs/glib-config.1: Incremented version
270 Wed Dec 16 22:29:48 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
272 * configure.in: fixed the AIX thread checking.
273 Just an error on the wildcard. BTW, -D_THREAD_SAFE
276 Wed Dec 16 02:02:48 1998 Tim Janik <timj@gtk.org>
278 * glib-config.in (lib_glib): fixed library and flag ordering for
281 Tue Dec 15 17:17:46 1998 Owen Taylor <otaylor@redhat.com>
283 * glib.h giounix.c giochannel.c: Use an "inheritance"
284 scheme for IO channel memory allocation.h
286 1998-12-15 Havoc Pennington <hp@pobox.com>
288 * gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
289 that produced garbage output for the test date I was using to
290 set up the parser. So use a different date that Solaris seems
293 1998-12-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
295 * configure.in: Dont complain, if --without-threads or
296 --with-threads=none is supplied; Test for pthread_attr_init
297 instead of pthread_cond_init, if threads seems to be supported by
298 standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
301 * glib.h, gmutex.c: Changed private to private_key to avoid
302 problems when compiling with under C++.
304 1998-12-15 Jeff Garzik <jgarzik@Pobox.com>
307 bugfixes, correctly support --without-threads and friends
309 * gthread/testgthread.c: corrected 64-bitness problem
311 Tue Dec 15 10:40:09 1998 Owen Taylor <otaylor@redhat.com>
313 * gnode.c glist.c gslist.c: Make sure all
314 calls to g_node_validate_allocator are within
315 current_allocator lock, so we have consistency
316 on that point. (Should not really matter,
317 but this way we match the comments)
319 * glist.c (g_list_free_1): Removed some lines
320 that should never have been committed. (For
323 1998-12-11 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
325 * gthread/gthread-nspr.c, configure.in: Added new default thread
326 implementation on top of the mozilla nspr library.
328 * gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
329 Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
330 into GMutex and GPrivate resp. to make error reporting and use of
331 gmem possible in most (not all, though) gthread functions. Also
332 initialized the modules via new init functions.
334 * configure.in: Fixed syntax bug in definition of type
337 * gthread/testgthread.c: Updated to work with nspr, but see note
338 there for remaining problems.
340 1998-12-10 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
342 * gmutex.c, glib.h: Now abort, if a mutex/cond/private is
343 allocated before the thread system is set up.
345 * gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
346 as it is not necessary. Changed the error message. Corrected logic
347 for g_thread_use_default_impl.
349 * gmutex.c (g_mutex_init): Keep the thread private data array
350 after calling g_thread_init().
352 1998-12-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
354 * gthread/testgthread.c (new_thread): Now also working for posix
355 threads; (wait_thread): Now a better implementation, that does not
358 * Made the thread related code follow GNU coding standard.
360 * Made a comment (HOLDS:) above each function, that expects the
361 given locks to be held.
363 * Changed try_lock to trylock throughout.
365 * glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
367 * glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
369 * gmain.c (g_main_poll_add_unlocked): first take a new poll record
370 form the poll_free_list.
372 * gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
374 * gthraed/*.c: Added copyright headers.
376 * gthread/gthread-solaris.c: do not use g_log for errors, as g_log
377 uses these module and endless recursions might happen, just use a
378 plain fprintf(stderr,...).
380 * gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
382 * gthread/testgthread.c: updated test program.
384 Tue Dec 8 18:49:56 1998 Owen Taylor <otaylor@redhat.com>
386 * Start at adding thread-safety. (mostly work
387 of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
389 - configure.in now looks for a system thread implementation.
390 Currently support is included for POSIX threads
391 and Solaris threads. The default support is built
392 into a separate library -lgthread.
394 - The thread implementation can be modified by passing
395 a vector of functions g_thread_init().
397 - The default or supplied functions are used to
398 implement a small set of thread functions for
399 mutexes, condition variables, and thread-private
402 - GLib now uses these functions to provide thread
403 safety. (In the sense that all global static
404 data is locked... individual structures must still
405 be locked by the caller.)
407 Sat Dec 12 19:08:59 1998 Tim Janik <timj@gtk.org>
409 * configure.in: always define G_HAVE_INLINE if __cplusplus is
410 defined, reported by Wan-Teh Chang <wtc@netscape.com>.
412 Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
414 * Released GLib 1.1.7
421 docs/glib-config.1: Increased version to 1.1.7
423 Wed Dec 9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
425 * Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
426 It shouldn't be there, and it was causing a double #define.
427 (config.h defines it also)
429 Tue Dec 8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
431 * Released GLib 1.1.6
435 Mon Dec 7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
437 * gmain.c: fixes to #undef HAVE_POLL case
439 1998-12-02 Havoc Pennington <hp@pobox.com>
441 * gdate.c (g_date_set_month): If Julian is valid, we have to
442 update the dmy representation before setting the components
444 (g_date_set_day): Same.
445 (g_date_set_year): Same.
447 1998-12-02 Havoc Pennington <hp@pobox.com>
449 * testgdate.c, testgdateparser.c: Two new files. This is kind of
450 ugly code, but I want to go ahead and make the tests available.
451 It isn't contaminating any other code. :-) Since one of these
452 is interactive and the other takes a while to run, I've kept
453 them separate from testglib for now.
454 * Makefile.am: Build gdate test programs.
456 1998-12-02 Havoc Pennington <hp@pobox.com>
458 * gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
459 flags, rather than re-checking the validity of the actual
460 values. This should be the correct behavior, the old way was
463 * glib.h, gdate.c: Changed MDY to DMY throughout.
465 Sat Nov 28 12:53:47 1998 Owen Taylor <otaylor@redhat.com>
467 * Makefile.am configure.in acconfig.h giochannel.c
468 glib.h glist.c gmain.c gutils.c:
470 - Revised GIOChannel to provide a generic virtual-function
472 - Added unix fd-based GIOChannel's
473 - Added generic main-loop abstraction
474 - Added timeouts and idle functions using main-loop abstraction.
476 1998-12-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
479 * gdate.c: changed `gpointer struct_tm_p' parameter of
480 g_date_to_struct_tm back to `struct tm *tm' and forward declared
481 `struct tm' in glib.h; yes, this is nice, we still need not
484 Tue Dec 1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
490 docs/glib-config.1: Incremented versions to 1.1.6.
492 Wed Dec 2 02:10:59 1998 Tim Janik <timj@gtk.org>
494 * gdate.c: s/time_t/GTime/ and s/g_print/g_message/
497 * glib.h: removed #include <time.h>, changed time_t paramter of
498 g_date_set_time() to time_t, changed struct tm parameter of
499 g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
500 nice, but including time.h actually breaks a bunch of code.
502 * incremented GLib version to 1.1.6.
504 1998-11-30 Havoc Pennington <hp@pobox.com>
506 * gdate.c: New file, implements calendrical calculations.
508 * glib.h: Added declarations for GDate module.
510 Mon Nov 30 07:12:10 1998 Tim Janik <timj@gtk.org>
513 * ghook.c: added g_hook_list_marshal_check() to eventually destroy
514 hooks after they got marshalled.
516 Sun Nov 29 17:31:43 EST 1998 Jeff Garzik <jgarzik@pobox.com>
518 * configure.in, Makefile.am, gmodule/Makefile.am:
519 Put -DFOO stuff into Makefile.am INCLUDES.
521 Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
523 * configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
524 so CFLAGS can be overridden at make time properly
526 Sat Nov 28 01:23:25 1998 Tim Janik <timj@gtk.org>
528 * ghash.c: implemented incremental freezing facility.
530 Thu Nov 26 01:36:20 1998 Tim Janik <timj@gtk.org>
533 * ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
534 since it's to specialized and needs to be resolved in a generic
537 Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
539 * applied glib-tml-981120-0, change log appended below.
541 * glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
544 Fri Nov 20 22:26:43 1998 Tor Lillqvist <tml@iki.fi>
546 * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
547 peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
548 added. Added "extern" to __declspec(dllimport).
550 * gutils.c: Initialise need_wakeups.
552 * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
554 * gmodule/gmodule.def: Added g_module_build_path.
556 * gscanner.c: (g_scanner_cur_value) Move initailisation of v
559 * glib.def: Added g_(s)list_sort.
561 * makefile.msc: A few more comments.
563 Tue Nov 24 14:05:47 EST 1998 Michael K. Johnson <johnsonm@redhat.com>
565 * glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
567 * ghash.c: added g_hash_table_set_key_freefunc() implementation.
568 Modified the prototypes of the functions g_hash_node_destroy() and
569 g_hash_nodes_destroy(), and changed the functions that call them
570 to match the new definitions.
571 This changes no external interfaces, and should create no binary
572 or source incompatibilities. It does add a member to the
573 GHashTable structure.
575 Tue Nov 24 09:40:00 1998 Tim Janik <timj@gtk.org>
577 * glib.h: removed the GListAllocator type and its g_*_allocator_*()
578 function variants (which weren't working anyways) in favour of a
579 generic GAllocator type. new functions:
580 g_allocator_new, g_allocator_free, g_slist_push_allocator,
581 g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
582 g_node_push_allocator and g_node_pop_allocator.
584 * gstring.c: removed bogus slist allocator code.
585 * gtree.c: maintain own list of free tree nodes and don't waste
586 GSLists for that, removed bogus slist allocator code.
587 * glist.c: use GAllocators for node allocation.
588 * gslist.c: use GAllocators for node allocation.
589 * gnode.c: use GAllocators for node allocation.
591 * gdataset.c: cleanups wrt automatic initialization.
593 Mon Nov 23 10:03:58 1998 Owen Taylor <otaylor@gtk.org>
595 * glib.h garray.[ch]: added g_array_insert_vals() to
596 insert elements at an arbitrary index, and
597 g_array_insert_val() macro.
599 Sun Nov 22 17:07:03 1998 Tim Janik <timj@gtk.org>
602 * gslist.c: new function g_slist_copy() to duplicate a list with all its
604 * glist.c: new function g_list_copy.
606 Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
612 glib.spec: Updated to version 1.1.5
614 * Released GLib 1.1.5
616 Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
618 * gdataset.c: There was a code path into g_data_set_internal
619 through a function (g_datalist_id_set_full). Neither function
620 checked for g_dataset_init having been run, but
621 g_data_set_internal used the memchunk. I added
622 a check into g_data_set_internal so it will do the
623 initialization if needed. (There's probably a better way.)
625 Mon Nov 16 07:48:06 1998 Tim Janik <timj@gtk.org>
627 * glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
628 a loop iteration if (-1) was passed, reported by Andreas Bombe
629 <andreas.bombe@munich.netsurf.de>.
631 Fri Nov 13 15:17:34 1998 Owen Taylor <otaylor@redhat.com>
633 * glist.c gslist.c glib.h: Added g_list_sort() and
634 g_slist_sort() to merge sort GLists and GSLists.
635 Submitted by Sven Over <sven.over@ob.kamp.net>
638 * testglib.c: Test the new sort functions.
640 Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
642 * Makefile.am : INCLUDES is the right way to add to CFLAGS, not
643 DEFS. Also there are bugs with '+=' in makefiles.
644 Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
645 Removed redundant -I from INCLUDES.
647 Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
649 * docs/*.sgml : Batch of new documentation that should be easier
650 to maintain and extend. Plus generate whatever sort of doc file
651 you would like. I didn't change the Makefile stuff as I'm not sure
652 what default doc type people want. Oh and this is all DocBook format.
655 Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
657 * configure.in: use __extension__ for long long on gcc >= 2.8 and
658 egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
661 * glib.h: make the endian x86 asm __const__ so the compiler can do
662 better optimizations. Also remove the cc clobber, these shouldn't
663 be changing condition codes. Ditch some redundant casts. Add an
664 optimization for 64-bit endian conversions in x86. Use constant
665 wrapper for the generic method.
667 * testglib.c: use constant wrappers for 64-bit constants
669 1998-11-04 Phil Schwan <pschwan@cmu.edu>
671 * configure.in: Added 'strncasecmp' to the list of functions to be
673 * glib.h: Added a prototype for 'g_strncasecmp'
674 * gstrfuncs.c: (g_strncasecmp) new function modeled closely after
677 Wed Nov 4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
679 * config.h.win32 (new file)
682 * makefile.msc: applied glib-tml-981104, win32 sync
684 1998-11-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
688 (g_array_remove_index): new function for removing an entry from an
689 array while preserving the order
690 (g_array_remove_index_fast): new function for removing an entry
691 from an array. the order might be distorted
692 (g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
693 functions; working similiar to the above. (they have the semantic
694 of the old g_ptr_array_remove[_index] functions)
695 (g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
696 the order of the elements in the array is not changed
697 (g_byte_array_remove_index, g_byte_array_remove_index_fast): new
698 functions; byte_array wrapper for g_array_remove_index[_fast]
700 Sun Nov 1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
703 * configure.in: endian macros defined using the glibconfig.h
706 * ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
708 Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
710 * applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
711 entry appended below)
715 * glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
718 * gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
720 1998-11-01 Tor Lillqvist <tml@iki.fi>
722 * glib.def: Added the new functions.
725 (g_getenv): Better implementation on Win32. No loop necessary.
726 (g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
727 set home dir always to NULL on Win32. Don't use tmp directory as
728 last resort home directory, but return NULL if no home
729 directory is known (application must check).
731 * makefile.msc: Better touch command, just COPYing a single file
732 sets the timestamp from that file, which isn't what touching should
735 1998-10-31 Raja R Harinath <harinath@cs.umn.edu>
737 Land glib-rrh-19981025-0.patch.
738 * Makefile.am (glibconfig.h): New rule.
739 (stamp-gc-h): New rule. Generate `glibconfig.h'.
740 * configure.in (AM_CONFIG_HEADER): It is now `config.h'.
741 (HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
742 concluding "broken wctype".
743 (glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
745 * glib.h: Remove a lot of tests and defines. All these have been
746 moved to `configure.in (glibconfig.h)'.
747 * gerror.c: Include <config.h>.
749 * gstrfuncs.c: Likewise.
750 * gutils.c: Likewise.
752 Sat Oct 31 05:08:26 1998 Tim Janik <timj@gtk.org>
754 * glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
755 added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
756 G_STRUCT_MEMBER() for handling structure fields through their offsets.
757 (struct _GHookList): added a hook_free function member, that can be used
758 to free additional fields in derived hook structures.
759 g_hook_free(): if hook_list->hook_free != NULL, call this function prior
760 to freeing the hook. (this functionality should have been there in the
761 first place, it just got forgotten as an implementation detail).
763 Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
765 * glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
766 <robert@physiol.med.tu-muenchen.de>
768 Tue Oct 27 07:25:53 1998 Tim Janik <timj@gtk.org>
772 (g_scanner_sync_file_offset): new function for file input.
773 rewind the filedescriptor to the current buffer position and blow
774 the file read ahead buffer. usefull for third party uses of our
775 filedescriptor, which hooks onto the current scanning position.
776 (this became neccessary with the implementation of buffered
778 (g_scanner_input_file):
779 (g_scanner_input_text): automatically blow the read ahead buffer.
780 (g_scanner_get_char): blow the read ahead buffer when the end of
781 input is reached, i.e. a '\000' char is read.
783 Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
785 * glib.h: get rid of duplicate #g_htonl and friends in the
788 Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
792 * makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
793 fixes some minor win32 buglets
795 Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
797 * glib.h: reimplemented the endian stuff, using inline asm
798 for x86. #define g_htonl and friends.
800 * testglib.c: new tests for the endian stuff
802 * configure.in: care for AIX in gmodule linker flags test (from
803 Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
804 instead of existance of /usr/include/linux
806 * gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
809 Tue Oct 27 03:00:50 1998 Tim Janik <timj@gtk.org>
811 * glib.h: removed dummy structure definitions for struct _GCache,
812 _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
814 * gutils.c: implement glib's inline functions _after_ all include
815 statements have been processed.
816 removed Tor's MAXPATHLEN check since there already was one supplied
817 further down in this file.
818 (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
819 since lcc maybe used on other platforms as well. why in hell is this
821 (g_get_any_init): for windows, if the user name is supplied, use it as
823 in general, if there is no homedir specified, use the tmpdir that
826 * gtimer.c (g_timer_elapsed): changed a g_assert() statement to
829 * applied glib-tml-981020-0.patch for WIN32 portability, added some
830 comments and g_return_if_fail() statements, minor indentation fixes.
831 ChangeLog entry from Tor Lillqvist is appended.
833 * glib.h (struct dirent): use lower case structure members.
838 s/COMPILING_GLIB/GLIB_COMPILATION/
840 1998-10-20: Tor Lillqvist <tml@iki.fi>
842 * README.win32 glib.def gmodule.def
843 * glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
844 New files for the Windows port. The .def files list exported
845 symbols for the Microsoft linker and compatibles.
848 Added checks for some platform-dependent headers: pwd.h sys/param.h
849 sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
852 Conditionalized inclusion of system-dependent headers. Changes
853 for Windows: no gdb to do a stack trace. Just call abort().
858 Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
859 platform-dependent file name syntax elements. Added macros
860 G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
861 platform-dependent search path syntax conventions.
863 Added pragmas for Microsoft C to make it more pedantic.
865 Marked GLib's global variables for export from DLL.
867 Added the function g_strescape that escapes backslashes.
869 Added functions g_path_is_absolute and g_path_skip_root to
870 handle platform-dependent file name syntax.
872 Added the function g_getenv that expands environment variables
873 that contain references to other environment variables, as is
874 typical on Windows NT.
876 Added the GIOChannel structure which is used to encapsulate the
877 IPC mechanism used by the GIMP's plug-ins, and possibly other
878 things later. On Unix a GIOChannel encapsulates just a file
879 descriptor. On Windows it contains a file handle from _pipe() and a
880 few other things related to the implementation of gdk_input_add
881 and GIMP plug-in communication. Subject to change.
883 Removed duplicate declarations of the version variables.
885 For the Microsoft compiler, declare own implementation of
886 ftruncate and the <dirent.h> functions.
889 Define a symbolic name for the profiling table size.
892 Conditionalized inclusion of unistd.h. On Windows, output using
896 Conditionalized inclusion of unistd.h. Added changes for
897 Microsoft C. Added CR to the skipped character set. Added small
898 workaround for MSC compiler bug in g_scanner_cur_value.
901 Added the function g_strescape, which escapes the backslash
902 character. Needed especially when printing Windows filenames.
905 Conditionalized inclusion of unistd.h and sys/time.h. Added
906 implementations for Windows.
909 Conditionalized inclusion of platform-dependent headers. Use
910 the platform-independent file name syntax macros.
911 Conditionalize code on platform-dependent features. Added the
912 functions g_path_is_absolute g_path_skip_root and g_getenv.
913 Added the GIOChannel-related functions. Added
914 compiler-dependent Unix compatibility functions for Windows.
916 * makefile.lcc makefile.msc:
917 New files. Compiler-specific makefiles for LCC-Win32 and
918 Microsoft C. Only Microsoft C is actually supported currently.
921 Added pathname check cases for Windows. Added workaround for
922 bug in the Microsoft runtime library. Improved some tests a bit.
924 Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
926 * Released GLib 1.1.4
930 * docs/glib-config.1:
931 * docs/glib.texi: Moved docs from gtk and created glib-config.1
932 from gtk-config.1 in gtk
936 * sanity_check: added in docs directory, change rule 'release'
937 to 'snapshot' and created a new 'release' rule for doing the
938 distribution. Added in a 'sanity' rule.
942 * INSTALL: Updated for the release
944 Sun Oct 25 07:30:10 1998 Tim Janik <timj@gtk.org>
947 (g_scanner_peek_next_char):
948 (g_scanner_get_char): no more characters are available if read() returns
949 anything less than 1, not only on 0 return.
952 * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
953 argument order requirements.
954 (g_strsplit): renamed from g_str_array_split().
955 (g_strjoinv): renamed from g_str_array_joinv(), string array is
956 now passed as last parameter. removed `const' qualifier from string
957 array pointer (again).
958 (g_strjoin): new function from sopwith to concatenate strings with
959 an additional seperator.
960 (g_strfreev): renamed from g_str_array_free.
962 Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
964 * gnode.c: small fix to g_node_children_foreach to make it work right.
965 From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
967 Wed Oct 21 19:22:58 1998 Tim Janik <timj@gtk.org>
969 * configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
970 from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
971 behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
972 changed the return value from (!f2 && f1) to (!f2 || f1) so we default
973 to not needing an underscore. reverted the extra plugin.c building,
974 because .lo files are not ELF libraries, this can't work. This needs
975 further investigation on Solaris...
977 Wed Oct 21 17:03:05 1998 Tim Janik <timj@gtk.org>
980 * gstrfuncs.c: API cleanups of the new g_str* functions for consistency
981 with the existing naming scheme for g_str* functions. grouped the g_str*
982 functions that will return a newly allocated string seperatedly. all of
983 the in_place arguments were skipped, the caller is supposed to pass a
984 g_strdup()ed string if he wants to retrive a new copy. indentation and
985 coding style fixups. added some g_return_if_fail() statements.
986 string array functions are prefixed with g_str_array_.
987 (g_strdelimit): return the modified string like all other g_str*
988 functions, that operate in place.
989 (g_strchug): renamed from g_str_chug(), removed in_place argument.
990 (g_strchomp): renamed from g_str_chomp(), removed in_place argument.
991 (g_strstrip): renamed from g_str_strip(), removed in_place argument.
992 (g_str_array_join): renamed from g_strconcatv(), since it actually
993 operates on a string array and has totaly different semantics from
994 g_strconcat(). check for separator != NULL, don't segfault if the first
995 string is NULL. removed the `const' from the string array that's passed,
996 so users can operate on gchar** string arrays.
997 (g_str_array_split): renamed from g_str_split() because we actually
998 produce a string array. reimplemented this function for efficiency.
999 removed macro aliases g_str_joinv and g_str_join.
1001 1998-10-20 Elliot Lee <sopwith@redhat.com>
1003 * glib.h, gstrfuncs.c: Move string join/split/free routines from
1004 libgnome/gnome-string, rename, and add g_str_chug.
1006 1998-10-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1008 * configure.in: made the check for needed _ in module's func-names
1009 work on solaris. (G_MODULE_NEED_USCORE must be set outside
1010 AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
1012 Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
1015 * acconfig.h: added test for endianness
1017 * glib.h: #define endian macros for system and some conversions
1020 Thu Oct 8 06:47:27 1998 Tim Janik <timj@gtk.org>
1023 * gdataset.c: removed functions g_dataset_id_set_destroy and
1024 g_datalist_id_set_destroy and macros g_dataset_set_destroy and
1025 g_datalist_set_destroy.
1026 added new functions g_dataset_id_remove_no_notify and
1027 g_datalist_id_remove_no_notify plus associated macros
1028 g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
1029 will remove a certain data portion without invokation of its destroy
1030 notifier, this should only be used in very controled circumstances.
1032 Wed Oct 7 05:31:24 1998 Tim Janik <timj@gtk.org>
1035 removed the #pragma } statement after extern "C" {. use
1036 (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
1039 * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
1040 G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
1041 changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
1042 G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
1043 fixed the g_hook_find* functions, so they iterate over non-active
1045 (g_hook_first_valid):
1046 (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
1047 which indicates whether G_HOOK_IN_CALL() hooks are considered valid
1048 or not. these two functions are meant as iterators for the hook list
1049 invocation, so they need to a) provide functionality to implement
1050 may_recurse bahaviour and b) only walk active hooks.
1052 Tue Oct 6 14:29:47 1998 Tim Janik <timj@gtk.org>
1054 * gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
1055 defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
1056 <mbp@wistful.humbug.org.au>).
1058 Sat Oct 3 01:18:10 1998 Tim Janik <timj@gtk.org>
1062 (g_hook_list_invoke):
1063 (g_hook_list_invoke):
1064 (g_hook_list_marshal): properly handle the first valid hook to call,
1065 it maybe IN_CALL already.
1066 (g_hook_list_marshal): minor name change.
1068 Fri Oct 2 23:21:21 1998 Tim Janik <timj@gtk.org>
1071 * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
1072 with ObjC which reserves "id" as a keyword (Raja R Harinath
1073 <harinath@cs.umn.edu>).
1075 Wed Sep 30 10:53:03 1998 Tim Janik <timj@gtk.org>
1077 * Makefile.am: added ghook.c.
1080 * ghook.c: generic callback maintenance functions.
1082 * glib.h: define G_GNUC_UNUSED.
1084 Fri Sep 25 00:04:37 1998 Tim Janik <timj@gtk.org>
1086 * configure.in: version bump to 1.1.4, binary age 0, interface age 0.
1088 * glib.h (struct _GScanner): dumped peeked_char and text_len in favour
1089 of *text_end and *buffer for buffered read()s.
1091 * gscanner.c: changed peeking and retrival of next character so we
1092 have buffered reads. fixed minor bug with number parsing error
1093 reporting. made some static!!! variables local ones (why did we use
1094 static temporary variables in the lowlevel tokenization code anyways?).
1096 Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1098 * Released GLib 1.1.3
1100 Mon Sep 21 07:43:13 1998 Tim Janik <timj@gtk.org>
1102 * glib.h: added g_renew() which works as g_new() for g_realloc().
1104 Mon Sep 21 02:22:12 1998 Tim Janik <timj@gtk.org>
1106 * NEWS file update for upcoming release of GLib + GModule
1107 version 1.1.3, binary age 0, interface age 0. (GModule uses
1108 the same version numbers as GLib.)
1110 * glib.h: swap the inclusion of of float.h and limits.h to work
1111 around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
1112 Per Abrahamsen <abraham@dina.kvl.dk>).
1115 * gscanner.c: renamed the GValue union to GTokenValue, this should
1116 not affect source compatibility in most cases.
1118 * ghash.c: added some g_return_if_fail() statements. make
1119 g_hash_table_lookup_node() an inline function so we save an extra
1120 function invokation on lookups.
1122 Sun Sep 20 18:21:46 1998 Owen Taylor <otaylor@redhat.com>
1124 * ltmain.sh: Patch to libtool-1.2b to make --disable-static
1127 Sun Sep 20 02:09:44 1998 Josh MacDonald <jmacd@axis.hip.berkeley.edu>
1129 * glib.h: New function g_hash_table_foreach_remove is similar to
1130 g_hash_table_foreach, but the callback's return value indicates
1131 whether to remove the element (if TRUE) or not (if FALSE).
1132 Returns the number of elements deleted.
1134 Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
1137 * gstrfuncs.c: added g_memdup implementation
1139 Fri Sep 18 18:46:14 1998 Tim Janik <timj@gtk.org>
1142 * gdataset.c: make the datalists a safe type (not using a generic
1143 gpointer) by expecting a GData* argument in the g_datalist functions.
1144 provide g_dataset_foreach() and g_datalist_foreach() functions that
1145 allow a GDataForeachFunc function to walk the data lists.
1146 (g_dataset_destroy_internal): made this function truely reentrant (i.e.
1147 can be called from within destroy notifiers as well).
1148 the *_foreach functions are _not_ reentrant (unless all the other
1149 dataset and datalist functions).
1151 Fri Sep 18 03:41:20 1998 Tim Janik <timj@gtk.org>
1153 * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
1156 Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
1158 * config.h.in: removed from repository
1162 * mkinstalldirs: updated to latest automake version
1164 Thu Sep 17 06:36:25 1998 Tim Janik <timj@gtk.org>
1167 * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
1168 but operates on an opaque gpointer *datalist; pointer, e.g. for the
1169 implementation of GtkObject named data.
1170 we cache a certain portion of the already freed data entries now, to
1171 gain a slight performance improve with data reallocation.
1173 Tue Sep 15 14:57:30 1998 Owen Taylor <otaylor@redhat.com>
1175 * Makefile.am glib-config.in l*: Update to libtool-1.2b,
1176 change library versioning scheme to drop LT_RELEASE
1177 from the -l line, while keeping it in the soname.
1179 Fri Sep 11 02:11:46 1998 Tim Janik <timj@gtk.org>
1181 * glib.h: explicitely include the prototypes for inline functions
1182 to cure gcc warnings for -Wmissing-prototypes.
1184 Wed Sep 9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
1186 * configure.in: added -posix check for NeXTStep
1188 Tue Sep 8 05:04:06 1998 Tim Janik <timj@gtk.org>
1190 * glib.h: abandon the use of ATEXIT(), we keep the fallback
1191 macros for backwards compatibility. people ought to use g_atexit().
1193 * gutils.c (g_atexit): new function to take over the implementation
1194 of ATEXIT. this function is guarranteed to succeed, similar to
1197 Mon Sep 7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
1199 * configure.in: comment the -std1 check and save LIBS properly
1201 Mon Sep 7 07:53:21 1998 Tim Janik <timj@gtk.org>
1203 * configure.in: check for all three inline keywords individually.
1205 * glib.h: inlining hassle. for compilers that don't allow the `inline'
1206 keyword, mostly because of strict ANSI C compliance or dumbness, we try
1207 to fall back to either `__inline__' or `__inline'.
1208 we define G_CAN_INLINE, if the compiler seems to be actually *capable*
1209 to do function inlining, in which case inline function bodys do make
1210 sense. we also define G_INLINE_FUNC to properly export the function
1211 prototypes if no inlinig can be performed. we special case most of the
1212 stuff, so inline functions can have a normal implementation by defining
1213 G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
1215 * ltconfig: (compiler PIC flag test): special case linux for non
1216 aout systems to honour lcc's position independant code (cases
1217 "linux*aout)" and "linux*)" got added). (this needs to go into
1218 libtool which does an advanced test, checking for __LCC__).
1220 * autogen.sh: take $CC=lcc into account by invoking automake with
1221 --include-deps so lcc isn't scared by gcc's auto-dependancy
1222 generation code. care about $ACLOCAL_FLAGS. optionally feature
1225 * minor fixups in other places to cure some of lcc's warnings.
1227 Sun Sep 6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
1229 * configure.in: added -std1 check for ANSI compliance (from gtk)
1231 Sun Sep 6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
1233 * glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
1235 Sat Sep 5 18:03:36 1998 Tom Tromey <tromey@cygnus.com>
1237 * gutils.c (GLIB_INLINE): Define.
1238 * glib.h (GLIB_INLINE): New define.
1239 (g_bit_nth_msf): Use it. Also, add prototype.
1240 (g_bit_storage): Likewise.
1241 (g_bit_storage): Likewise.
1243 Sat Sep 5 04:40:02 1998 Tim Janik <timj@gtk.org>
1246 (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
1247 so the correct size of the memchunk is allocated with 0's and not
1248 a memory portion of the size of the desired type.
1250 * gmem.c: new function g_mem_chunk_alloc0() which will initialize
1251 a memory area allocated with g_mem_chunk_alloc() with 0's.
1253 Wed Sep 2 19:13:28 1998 Owen Taylor <otaylor@redhat.com>
1255 * garray.c glib.h (g_array_[ap/pre]pend_vals): make
1256 data argument const.
1258 Wed Aug 26 06:32:40 1998 Tim Janik <timj@gtk.org>
1261 * gstrfuncs.c: new function g_strnfill() to return a new string
1262 of specified length, filled with a specific character.
1264 Tue Sep 1 23:46:31 1998 Josh MacDonald <jmacd@axis.hip.berkeley.edu>
1266 * testglib.c (main): Update the array tests. Reduce the number of
1267 iterations for the prepend test from 10000 to 100 since it is
1268 O(n^2) and was taking longer than I would like to wait.
1270 * garray.c: I've worked on the GArray interface, mostly. It was
1271 seriously broken before and I hate to do it, but this is going to
1272 break some code. It is important to do this now, because more and
1273 more people are starting to use glib and the interface was both
1274 broken and inconsistent. First, rename the _truncate functions of
1275 both the GArray and GPtrArray classes to _set_size, since this
1276 function can also be used to extend the arrays. GArray now
1277 accepts two more initialization arguments: clear and element_size.
1278 Instead of providing the type to each access function, the array
1279 now stores the element size. Clear, if set, causes the library to
1280 zero element's memory as the array expands. The major broken-ness
1281 here was that array->len was in bytes, not elements. Now, since
1282 the array knows its element size, array->len is correct and I have
1283 removed the g_array_length macro. The only macro which now
1284 accepts the type as an argument is g_array_index, which casts the
1285 element to the right type--this interface does not change. The
1286 append and prepend functions simply need the types removed.
1287 g_ptr_array_remove_index now returns the removed element.
1289 * gprimes.c (g_spaced_primes_closest): Move this function out of
1290 ghash.c and rename it from g_hash_closest_prime. Fix the primes
1291 so that they are actually prime (they weren't all -- isn't that
1294 Mon Aug 24 02:08:56 1998 Tim Janik <timj@gtk.org>
1299 (g_vsprintf): removed this function which was not publically
1300 exported in glib.h. to export it, it should have been named
1301 differently in the first place, since its semantics differ from
1302 vsprintf(). apart from that, it was a possible cause for
1303 problems since it worked on a previously allocated memory area and
1304 was used in a lot places of glib. exporting it would have been a
1305 guararant for problems with threaded programs.
1306 (g_printf_string_upper_bound): exported this function to return
1307 a string size, guarranteed to be big enough to hold the fully
1308 expanded format+args string. added 'q', 'L' and 'll' flag handling.
1309 in fact, the newly allocated area is in most cases much bigger than
1311 (g_strdup_vprintf()): new function returning a newly allocated string
1312 containing the contents of *format and associated args (size is
1313 calculated with g_printf_string_upper_bound()).
1314 (g_strdup_printf): new function which wraps g_strdup_vprintf().
1316 * configure.in: check for va_copy() or __va_copy() alternatively.
1317 check whether va_lists can be copyied by value.
1319 * glib.h: provide a definition for G_VA_COPY.
1325 pass va_lists by value, not by reference, since this causes problems
1326 on platforms that implement va_list as as arrays. internaly, use
1327 G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
1328 va_list variable, if multiple passes are required. changed all
1333 renamed g_debug() to g_on_error_query(), cleaned up a bit.
1334 renamed g_stack_trace() to g_on_error_stack_trace() since both
1335 functions cluttered different namespaces.
1336 there is an appropriate comment in glib.h now that explains the
1337 unix and gdb specific dependencies of both functions.
1338 removed g_attach_process().
1339 g_on_error_stack_trace() should probably be handled with caution,
1340 i've seem several different linux versions (2.0.x) become unstable
1341 after invokation of this function.
1343 1998-08-18: Elliot Lee <sopwith@redhat.com>
1345 * In gmem.c, add the ability to exclude memory chunks from the
1346 memory profiling information.
1348 Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
1351 * gstrfuncs.c: added g_strndup
1353 Tue Aug 18 04:40:17 1998 Tim Janik <timj@gtk.org>
1356 * gmessages.c: new function g_log_set_always_fatal() to set an
1357 additional fatal_mask for log levels that are considered to be fatal
1358 globally (required by gtk). since this mask is not domain-associated,
1359 it is restricted to the log levels, introduced by glib itself.
1363 * gtree.c (g_tree_node_check):
1364 don't use g_print() calls for informational/debugging output,
1365 but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
1366 libraries shouldn't use printf(), g_print() or g_printerr() at all.
1368 Tue Aug 18 02:46:44 1998 Tim Janik <timj@gtk.org>
1371 * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
1372 `inline' a noop, since strict ANSI rules don't permit `inline'.
1374 Mon Aug 17 15:21:42 1998 Tim Janik <timj@gtk.org>
1376 * grel.c: made private functions static.
1378 Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1380 * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
1382 * glib.spec: version = 1.1.3
1384 Mon Aug 17 01:46:14 1998 Tim Janik <timj@gtk.org>
1386 * glib.m4: feature an extra MODULES parameter, so glib-config can
1387 be invoked with the "gmodule" argument.
1389 * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
1390 g_return*_if_fail statements, and made them issue a message
1391 like "assertion `%s' failed".
1393 * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
1396 Sun Aug 16 20:28:27 1998 Tim Janik <timj@gtk.org>
1398 * version bump to 1.1.3, binary age 0, interface age 0.
1400 * glib.h: be nice to platforms that don't have gint64 and don't
1401 issue #warning on every compilation. since glib doesn't require
1402 gint64 itself, packages that need gint64 should test for this
1406 * gutils.c: added a new function g_vsnprintf().
1408 Sun Aug 16 Elliot Lee
1410 glib.h: #error out if we don't recognize the SIZEOF_VOID_P
1411 #warning if no gint64
1413 Fri Aug 14 16:41:53 1998 Tim Janik <timj@gtk.org>
1415 * glib.h: added static inline functions for bit mask tests:
1416 g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
1418 Fri Aug 13 14:23:37 1998 Tim Janik <timj@gtk.org>
1422 revised the message handling system, which is now based on a new
1423 mechanism g_log*. most of the assertment macros got adapted to
1424 feature the new g_log() call with an additional specification of
1425 the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
1426 is undefined upon the includion of glib.h, it'll be defined with a
1427 value of (NULL) and thus preserves the original bahaviour for
1428 warning and error messages. the message handler setting functions
1429 for g_warning, g_error and g_message are only provided for backwards
1430 compatibility and might get removed somewhen.
1432 * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
1433 to "GLib" upon compilation. we currently have to add this definition
1434 to the DEFS variable.
1435 * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
1436 of this file currently, since automake doesn't support per target
1439 * glib.h: changed some gints to gbooleans, made a few const corrections,
1440 removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
1441 in other required places.
1445 (g_node_insert_before):
1447 (g_node_append_data):
1448 (g_node_prepend_data):
1449 (g_node_insert_data_before):
1450 (g_node_insert_data):
1452 return (node), so these macros/functions can be usefully chained with
1455 Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
1457 * glib.h: it's GTime now, and it's back!
1459 Mon Aug 10 02:17:19 1998 Tim Janik <timj@gtk.org>
1461 * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
1462 last. we do this by making all-recursive-am depend on all-am.
1464 Sun Aug 9 15:56:11 1998 Tim Janik <timj@gtk.org>
1466 * configure.in: added GModule checks. generate files in gmodule/.
1467 * glib-config.in: support library specifications `glib' and `gmodule'.
1468 * Makefile.am: feature the gmodule/ subdir.
1470 Wed Aug 5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
1472 * Released GLib 1.1.2
1474 Wed Aug 05 01:15:36 1998 George Lebl <jirka@5z.com>
1476 * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
1477 seem to return int so I cast it for printing, probably
1480 Tue Aug 4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
1482 * Released GLib 1.1.1
1484 Tue Aug 4 15:17:54 1998 Tim Janik <timj@gtk.org>
1486 * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
1489 * INSTALL: updates and fixes.
1490 * COPYING: include the GNU LGPL, rather than shipping an empty file.
1491 * AUTHORS: listed original authors here, and added people who made
1492 significant improvements to glib.
1495 * gutils.c: implement g_get_current_dir() which returns a newly
1496 allocated string, instead of a g_getcwd() variant that operates
1498 export glib_interface_age and glib_binary_age.
1499 as a convenience, macro definitions have been added for
1500 g_node_insert_data, g_node_insert_data_before, g_node_append_data and
1501 g_node_prepend_data.
1503 * testglib.c: minor cleanups, print current dir.
1505 Mon Aug 3 16:02:26 1998 Tim Janik <timj@gtk.org>
1508 * gnode.c: change order of gpointer data; field in struct _GNode to
1509 be partly binary compatible with GList and GSList.
1511 1998-08-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1513 * garray.c (g_ptr_array_remove_index): bugfix: index check for
1514 array has been wrong.
1516 Fri Jul 31 22:17:05 1998 Tim Janik <timj@gtk.org>
1518 * testglib.c (g_node_test): added a GNode test.
1520 Fri Jul 31 09:08:16 1998 Tim Janik <timj@gtk.org>
1522 * Makefile.am: compile gnode.c.
1525 * gnode.c: added implementation of n-way trees.
1527 * gtree.c (g_tree_traverse): added a warning to the switch() statement
1528 which says that G_LEVEL_ORDER is not implemented.
1530 Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1532 * Released GLib 1.1.0
1534 Mon Jul 27 01:02:27 1998 Tim Janik <timj@gtk.org>
1536 * glib.h: #if 0'ed out the GTime definition, until it is definitively
1537 needed. #if 0'ed out the g_getcwd() version, because it is the wrong
1540 Sat Jul 25 16:09:00 1998 Mark Crichton <crichton@expert.cc.purdue.edu>
1542 * glib.h: gtime changed to g_time. gtime is used in
1543 /usr/include/time.h in NetBSD, causing multiple headaches.
1544 If this isn't the right way of fixing it.... ;)
1546 Thu Jul 23 00:29:14 1998 Tim Janik <timj@gtk.org>
1549 * gscanner.c: new functions to make a scanner scope sensitive wrt
1551 g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
1552 g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
1553 g_scanner_set_scope.
1554 g_scanner_add_symbol, g_scanner_remove_symbol and
1555 g_scanner_foreach_symbol are now aliases for scope 0.
1557 Mon Jul 20 23:05:34 1998 George Lebl <jirka@5z.com>
1559 * glib.h: typo fixed for alphas for gint64
1561 Tue Jul 14 09:05:18 1998 Tim Janik <timj@gtk.org>
1564 * gutils.c: new fuction g_dirname() which returns a newlly
1567 Fri Jul 10 06:33:43 1998 Tim Janik <timj@gtk.org>
1570 * gutils.h: added a bunch of utility/wrapper functions:
1571 g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
1572 g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
1574 * gutils.c: removed all g_str* functions.
1575 * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
1576 place. this file shall never include <unistd.h> to avoid clashes for
1577 some of the g_str* functions on some OSes.
1579 Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
1582 * ghash.c: Renamed g_hash_table_lookup_full to
1583 g_hash_table_lookup_extended to conform with naming conventions.
1585 Tue Jul 7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
1588 * ghash.c: Generic cleanup, added a function:
1589 (g_hash_table_lookup_full): Return whether the lookup succeeded,
1590 and also retrieve the key and value. This allows one to
1591 distinguish between failed lookup and finding a NULL, and also
1592 allows one to free a key in the hash.
1594 Mon Jul 6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
1596 * ltconfig: fix for properly detecting shared lib support on
1597 SunPro cc (taken from libtool 1.2.a)
1599 Sat Jul 4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
1601 * glib.h: added g_array_length
1603 Tue Jun 30 11:58:25 1998 Tim Janik <timj@gtk.org>
1605 * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
1606 account. react on valid/invalid string pairs.
1608 Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
1610 * glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
1613 Fri Jun 19 03:11:02 1998 Tim Janik <timj@gtk.org>
1615 * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
1616 g_dataset_retrive_key in favour of GQuarks.
1617 a GQuark is an numeric id wich is associated with a certain string.
1618 (g_quark_try_string): try to get the quark associated with this string,
1619 if the lookup failed return 0.
1620 (g_quark_from_string): get the associated quark for a string, if there
1621 isn't currently a GQuark associated with this string, then allocate a
1622 new quark and return that.
1623 (g_quark_from_static_string): like the above function, but the string
1624 isn't strdup()ed to save memory.
1625 (g_quark_to_string): get the string that is associated with a certain
1628 * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
1629 _after_ the new data has been setup.
1631 Thu Jun 18 02:35:21 1998 Owen Taylor <otaylor@gtk.org>
1633 * glib.h: Changed messages for g_return_[val]_if_fail to
1634 be somewhat more clear: assertion "blah" failed.
1636 1998-06-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
1638 * testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
1641 * grel.c: #include <string.h>
1643 Fri Jun 12 15:39:06 1998 Tim Janik <timj@gtk.org>
1645 * glib.h (GScanner): cleanups of the structure fields (binary
1648 Fri Jun 12 00:39:28 1998 Josh MacDonald <jmacd@icw.EECS.Berkeley.EDU>
1650 * glib.h: add new hash and equal functions g_int_*. complement
1651 g_direct_hash with g_direct_equal.
1653 * grel.c: new file, GRelations implement tuples of N-N mappings.
1654 A comment in glib.h briefly describes the interface.
1656 * ghash.c: new function, g_hash_table_size
1658 * glib.h: new typedefs, gsize, gssize, gtime.
1660 * garray.c: new functions implementing a simplified GArray. This
1661 GPtrArray is an array of gpointers and has functions to add and
1662 remove elements, much like java.lang.Vector.
1664 * garray.c: new functions for the single-byte special case of
1665 GArray. The functions g_byte_array* operate on arrays of bytes.
1666 Internally, a GArray is used.
1668 * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
1670 1998-06-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
1672 * gdataset.c: #include <string.h>
1674 Thu Jun 11 04:15:31 1998 Tim Janik <timj@gtk.org>
1677 * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
1678 sizes, to take up less space on initial allocation.
1680 1998-06-10 Raja R Harinath <harinath@cs.umn.edu>
1682 * acinclude.m4: New file. Contains `libtool.m4' from libtool-1.2,
1683 the version from which glib's libtool forked. Needed for people
1684 who use post-1.2 alphas of libtool.
1685 * configure.in (enable_mem_check, enable_mem_profile): Replace
1686 `echo -n' with AC_MSG_CHECKING.
1687 (fd_set): Explain test for `fd_set' better.
1689 Wed Jun 10 19:29:51 1998 Owen Taylor <otaylor@gtk.org>
1691 * Makefile.am glib.m4 configure.in:
1693 Moved out from GTK+; added AM_PATH_GLIB macro.
1695 Wed Jun 10 12:56:07 1998 Owen Taylor <otaylor@gtk.org>
1697 * glib.h: renamed g_const_pointer => gconstpointer
1699 Tue Jun 9 17:47:33 1998 Owen Taylor <otaylor@gtk.org>
1701 * glib.h: Remove #error - HP/UX.
1703 Sat May 23 19:00:01 1998 Owen Taylor <otaylor@gtk.org>
1705 gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
1706 gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
1708 * glib.h ghash.c gstring.c gdataset.c gutils.c:
1709 - Added new typedef g_const_pointer; expunged all incorrect
1710 uses of 'const gpointer'.
1711 - Fixed up warnings that that created,
1712 - Changed GHashFunc and GCompareFunc to take g_const_pointer
1713 arguments. (Necessary, but will cause warnings in existing
1715 - Added other new const in harmless positions.
1717 Mon Jun 8 01:06:47 1998 Tim Janik <timj@gtk.org>
1719 * glib.h: added enum-helper macros for code generation.
1720 added G_BREAKPOINT().
1722 Sat Jun 6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
1724 * gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
1727 Wed Jun 3 06:19:42 1998 Tim Janik <timj@gtk.org>
1729 * glib.h (g_chunk_new0): convenience macro, for allocating small chunks
1730 like g_chunk_new() with additional 0 initialization.
1732 Mon Jun 1 04:43:27 1998 Tim Janik <timj@gtk.org>
1734 * ghash.c (g_hash_table_insert): wrote a comment describing why
1735 a hash node's key should not also get replaced when overriding
1738 Tue May 26 18:30:06 1998 Tim Janik <timj@gtk.org>
1740 * glib.h (g_string_sized_new): new function to controll the preallocated
1743 * glib.h (g_strreversed): new function to reverse a string.
1745 Mon May 18 22:14:39 1998 Owen Taylor <otaylor@gtk.org>
1746 (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
1748 * gutils.c: Restored a missing prototype for g_vsprintf.
1750 Wed May 20 05:02:26 1998 Tim Janik <timj@gtk.org>
1752 * glib.h: conditionally define NULL, FALSE and TRUE.
1753 (g_mem_chunk_create): new convenience macro as a short hand for
1755 (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
1757 Tue, 19 May 1998 09:00:02 +0200 Paolo Molaro <lupus@debian.org>
1759 * gcompletion.c: generic functions for com<TAB>pletion...
1761 Sun May 17 10:48:27 1998 Tim Janik <timj@gtk.org>
1763 * gscanner.c (g_scanner_unexp_token): provide usefull default
1764 specifications for identifier_spec and symbol_spec.
1766 * glib.h: new functions g_slist_nth_data and g_list_nth_data to return
1767 the data of the nth element in the list.
1769 Fri May 15 22:31:49 1998 Tim Janik <timj@gtk.org>
1771 * gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
1772 that for some reason didn't produce a compiler warning on my machine
1773 (is va_end defined to nothing for i386?).
1775 Fri May 15 12:32:08 1998 rodo <doulik@karlin.mff.cuni.cz>
1777 * gscanner.c: replaced some snprintf with g_snprintf
1779 Fri May 15 00:56:59 1998 Tim Janik <timj@gtk.org>
1781 * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
1782 G_GNUC_NORETURN and G_GNUC_CONST.
1784 * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
1785 (g_scanner_msg_handler): "\n" at end of line!
1786 (g_scanner_foreach_symbol): new function to iterate over the symbol
1787 table (GScanner does value-wrapping).
1789 Thu May 14 04:14:12 1998 Tim Janik <timj@gtk.org>
1791 * glib.h: typedef gint gboolean;
1792 this is needed to provide portability with big-endian platforms (e.g.
1793 try sizeof(bool) for c++ on big-endians - it's 4).
1794 this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
1795 plus, gint to gboolean casts and vice versa need to be possible without
1798 Tue May 12 19:22:58 1998 Owen Taylor <otaylor@gtk.org>
1800 * glib/glib.h: Added macros G[U]INT_TO_POINTER() and
1801 GPOINTER_TO_[U]INT for storing small integers integers
1804 * glib/testglib.c: Print sizeof() results
1805 as g_print("%ld", (glong)sizeof(foo)), to deal with
1806 size_t being long on Alpha's.
1808 Tue May 12 16:54:15 1998 Owen Taylor <otaylor@gtk.org>
1809 (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
1811 * glib.h gstring.c gmessages.c: Added some missing
1814 * gutils.c (g_strsignal.c): Added missing return statements.
1816 Mon May 11 21:11:54 1998 Owen Taylor <otaylor@gtk.org>
1818 * gutils.c gmessages.c: Moved g_error, g_warning, g_message and
1819 g_print from gutils.c to new file gmessages.c, to avoid having to
1820 include <unistd.h> in gutils.c which was causing problems for the
1821 g_strsignal implementation on FreeBSD boxes.
1823 Mon May 11 09:53:43 1998 Tim Janik <timj@gtk.org>
1825 * configure.in: preserve automake CFLAGS.
1827 * Makefile.am: fully rename the created library to libglib-1.1.la.
1828 this means we need to change certain portions of the Makefile.am on
1829 major/minor version bumps.
1831 * ltmain.sh: the -release option is not required anymore.
1833 * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
1834 avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
1835 MIN, ABS and CLAMP, these macros might be screwed from other headers.
1837 Mon May 11 01:44:10 1998 Tim Janik <timj@gtk.org>
1839 * gdataset.c: new file, gdatasets implement the object data
1840 mechanism from GtkObject. a generic data pointer is associated with
1841 a certain location and a key id.
1843 Sat May 9 20:08:12 1998 Owen Taylor <otaylor@gtk.org>
1845 * glib/gmem.c: Experimentally restore GMemChunk
1846 to its primeval state - where mem areas are
1847 freed incrementally instead of searching the tree
1848 every time a mem area is completely empty. Also,
1849 always keep one mem chunk around. (Reduced calls
1850 to malloc() a lot, but doesn't really improve
1851 performance significiantly)
1853 Thu May 7 08:17:28 1998 Tim Janik <timj@gtk.org>
1855 * glib.h (G_GNUC_PRINTF):
1856 (G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
1859 * gstring.c: const corrections, string!=NULL checks at function entry.
1860 (g_string_down): new function for tolower(3) conversion.
1861 (g_string_up): new function for toupper(3) conversion.
1863 * gutils.c: const corrections.
1864 (g_strdown): g_string_down() counterpart.
1865 (g_strup): g_string_up() counterpart.
1867 * gscanner.c (g_scanner_unexp_token):
1869 (g_scanner_warn): new functions to let a scanner put out warnings
1870 or errors, especially to react on unexpected tokens.
1873 (g_slist_index): find out about about the position of a
1874 certain data pointer.
1875 (g_slist_position): find out about about the position of a
1879 (g_list_index): find out about about the position of a
1880 certain data pointer.
1882 Thu May 7 05:14:19 1998 Tim Janik <timj@gtk.org>
1884 * ltmain.sh: added a new commandline flag -postfix similar to -release,
1885 but will immediately change the library name.
1887 * Makefile.am: specify -postfix and -version-info
1889 * configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
1890 GLIB_BINARY_AGE. calculate LT_* variables for libtool.
1892 Fri May 1 16:36:08 1998 Owen Taylor <otaylor@gtk.org>
1894 * gutils.c: (g_strcasecmp). Check for isupper before
1895 taking tolower, and account for macroized tolower.
1897 * gutils.c (g_error): Check for recursion.
1899 1998-04-27 Elliot Lee <sopwith@cuc.ml.org>
1901 * glist.c (g_list_position): New function to find the position of
1902 a link in a list - should be the inverse of g_list_nth(), but
1903 haven't tested it so poof.
1905 Thu Apr 30 21:41:30 1998 Owen Taylor <otaylor@gtk.org>
1907 * gstring.c : Check arguments more carefully,
1908 (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
1910 Tue Apr 7 19:36:48 1998 Owen Taylor <owt1@cornell.edu>
1912 * gutils.c (g_direct_compare): Removed, because that's what
1913 a NULL comparison function means. And it wasn't 64 bit safe.
1915 Mon Apr 6 18:43:25 1998 Tim Janik <timj@gtk.org>
1917 * gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
1918 of the format ".xxx" to be parsed as "xxx".
1920 Fri Apr 3 20:36:35 1998 Owen Taylor <owt1@cornell.edu>
1922 * gutils.c (g_parse_debug_string): Make debug string
1923 parsine case-insensitive
1925 Fri Apr 3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
1927 * gstring.c: corrected possible overrun when inserting into
1928 GStrings (thanks Elrond)
1930 Fri Apr 3 18:05:45 1998 Owen Taylor <owt1@cornell.edu>
1932 * testglib.c: Removed literal german from strings
1933 to appease SGI compiler.
1935 Thu Mar 26 20:47:21 1998 Owen Taylor <owt1@cornell.edu>
1937 * configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
1938 use on_exit if atexit not found in definition of ATEXIT.
1940 Wed Mar 25 15:23:37 1998 Owen Taylor <owt1@cornell.edu>
1942 * Makefile.am: Switched glibconfig.h rule from HEADERS
1943 to DATA, so that it is not added to DISTFILES
1945 Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
1947 * garray.c: g_rarray_truncate length done correctly
1949 Sun Mar 15 07:13:34 1998 Tim Janik <timj@gimp.org>
1951 * gutils.c: changed *_handler variables to be named glib_*_handler,
1952 so you can easily access them from gdb.
1954 Sat Mar 14 17:47:43 1998 Owen Taylor <owt1@cornell.edu>
1956 * Makefile.am: Don't refer to current directory as $(top_builddir)
1957 to avoid confusing non-gmakes
1959 Sat Mar 14 01:37:35 1998 Owen Taylor <owt1@cornell.edu>
1961 * Makefile.am (configincludedir): Moved glibconfig.h to
1962 $(pkglibdir)/include
1964 Tue Mar 10 02:03:12 1998 Tim Janik <timj@gimp.org>
1966 * gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
1967 free symbol table entries upon destruction
1968 (gtk-gronlund-980309-0.patch.gz).
1970 Mon Mar 9 15:02:21 1998 Tim Janik <timj@gimp.org>
1972 * glib.h: changed *_length functions to return guint.
1973 changed *_nth functions to take guint as argument.
1975 * glist.c: adapted g_list_length and g_list_length.
1977 * gslist.c: adapted g_slist_length and g_slist_length.
1979 Mon Mar 2 17:51:18 1998 Owen Taylor <owt1@cornell.edu>
1981 * glib.h gutils.c : changed g_strcasecmp
1982 to take gchar* not guchar*
1984 * testglib.c: Remove trailing ; after functions
1986 Sun Mar 1 19:04:40 1998 Owen Taylor <owt1@cornell.edu>
1988 * glib.h gstring.c: Added g_string_insert[_c]()
1989 and g_string_erase().
1991 From: Stefan Wille <1wille@vsys1.informatik.uni-hamburg.de>
1993 Mon Feb 16 23:05:06 1998 Owen Taylor <owt1@cornell.edu>
1995 * glist.c (g_list_insert_sorted): Changed function
1996 so elements are always inserted, even if they compare
1999 Thu Feb 12 22:48:11 1998 Owen Taylor <owt1@cornell.edu>
2001 * gstring.c glib.h: removed deprecated g_string_equal
2004 Tue Feb 10 13:04:36 1998 Owen Taylor <owt1@cornell.edu>
2006 * configure.in: Add check to see if the C library's
2007 iswalnum can actually be used. (Not true for
2010 Sat Feb 7 11:48:09 1998 Owen Taylor <owt1@cornell.edu>
2012 * gstring.c gutils.c: added some additional consts in
2013 appropriate places to remove a warning
2015 Sat Feb 7 11:15:54 1998 Owen Taylor <owt1@cornell.edu>
2017 * gutils.c: include <ctype.h> for tolower()
2019 Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
2021 * added and autoconfigured in a new utility function
2024 Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
2028 * testglib.c: the sort functions compared backwards. Fixed
2029 * glib.h: list iterator macros now check for NULL pointers
2031 Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
2033 * gstring.c: g_string_prepend and g_string_prepend_c had
2034 interchanged src and dest parameters for g_memmove. Fixed.
2036 Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
2038 * gslist.c: fixed a really, really lame error. g_slist_insert
2039 didn't hook the data in! Reworked the routine to reflect the
2040 functionality of g_list
2042 Wed Jan 21 01:13:25 1998 Tim Janik <timj@psynet.net>
2044 * Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
2045 to add function g_snprintf.
2046 * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
2047 * glib.h: Add prototype for g_snprintf.
2048 * glibconfig.h.in: Add HAVE_VSNPRINTF.
2049 * gutils.c (g_snprintf): new function.
2051 Sat Jan 17 23:52:40 1998 Owen Taylor <owt1@cornell.edu>
2053 * gstring.{c,h} gscanner.c:
2054 renamed g_string_equal => g_str_equal
2055 renamed g_string_hash => g_str_hash
2056 And const corrected. Old functions left in for now.
2058 Fri Jan 9 20:03:46 1998 Tim Janik <timj@psynet.net>
2060 * gutils.c (g_strerror): changed message for EAGAIN from
2061 "no more processes" to "try again" since EAGAIN is used with
2062 functions else than fork().
2064 * gscanner.c (g_scanner_get_token_ll): use strtol() instead of
2065 strtoul() to avoid conflicts with solaris.
2067 * merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
2070 Wed Jan 7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
2075 * testglib.c: Added g_[s]list_insert_sorted function
2076 and appropriate tests in testglib
2078 Sat Jan 3 20:23:25 1998 Owen Taylor <owt1@cornell.edu>
2080 * glib.h: Changed guint32 -> guint for bitfields.
2081 (Bitfields must be int or unsigned int?)
2083 Fri Jan 2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
2087 * glib.h: reverted glibconfig.h and glib.h files back to the
2088 way they were before my ugly hack.
2090 * gscanner.c: removed inlines from clist and gscanner
2092 Tue Dec 23 02:49:51 1997 Tim Janik <timj@psynet.net>
2094 * gscanner.c: new file for GScanner: Flexible lexical scanner for
2096 * glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
2097 gutils.c (g_strconcat): new function for string concatenation of NULL
2098 terminated parameter list.
2099 (g_strtod): new function to perform best string to double conversion
2100 with or without consideration of the current locale.
2102 Mon Dec 15 19:33:58 1997 Tim Janik <timj@psynet.net>
2104 * glist.c: minor optimizations:
2105 (g_list_append): `if' optimized for common code path, commented out
2106 unneccessary `assert', saved one variable assignment.
2107 (g_list_prepend): saved two (conditioned) variable assignment.
2108 (g_list_insert): saved one (conditioned) variable assignment,
2109 saved one variable assignment.
2110 (g_list_remove): `if' optimized for common code path, saved two
2111 variable assignments by using `g_list_free_1' (which is even
2112 faster) instead of `g_list_free'.
2113 (g_list_reverse): saved allocation of one variable, saved one
2114 variable assignment.
2116 Wed Dec 10 23:27:20 1997 Tim Janik <timj@psynet.net>
2120 * glib.h: this file now gets concatenated by makeglib_h from
2121 glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
2122 created by configure (done by Jay Painter).
2124 * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
2125 are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
2126 when used within if (...) g_macro(); else ... conditionals.
2128 Tue Dec 17 13:14:07 1996 Peter Mattis <pmattis@charnley.HIP.Berkeley.EDU>
2130 * glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
2131 not call 'g_string' but to simply stringify the
2132 expression. Calling 'g_string' causes the expression to be
2133 expanded which is undesired.
2135 Sun Dec 1 01:30:48 1996 Peter Mattis <pmattis@charnley.HIP.Berkeley.EDU>