Generic hash cleanup, added a function (g_hash_table_lookup_full).
[platform/upstream/glib.git] / ChangeLog.pre-2-2
1 Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
2
3         * glib.h:
4         * ghash.c: Generic cleanup, added a function:
5         (g_hash_table_lookup_full): Return whether the lookup succeeded,
6         and also retrieve the key and value. This allows one to
7         distinguish between failed lookup and finding a NULL, and also
8         allows one to free a key in the hash.
9
10 Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
11
12         * ltconfig: fix for properly detecting shared lib support on
13         SunPro cc (taken from libtool 1.2.a)
14
15 Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
16
17         * glib.h: added g_array_length
18
19 Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
20
21         * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
22         account. react on valid/invalid string pairs.
23
24 Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
25
26         * glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
27         ours. ;)
28
29 Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
30
31         * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
32         g_dataset_retrive_key in favour of GQuarks.
33         a GQuark is an numeric id wich is associated with a certain string.
34         (g_quark_try_string): try to get the quark associated with this string,
35         if the lookup failed return 0.
36         (g_quark_from_string): get the associated quark for a string, if there
37         isn't currently a GQuark associated with this string, then allocate a
38         new quark and return that.
39         (g_quark_from_static_string): like the above function, but the string
40         isn't strdup()ed to save memory.
41         (g_quark_to_string): get the string that is associated with a certain
42         GQuark.
43
44         * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
45         _after_ the new data has been setup.
46
47 Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
48
49         * glib.h: Changed messages for g_return_[val]_if_fail to
50         be somewhat more clear: assertion "blah" failed.
51
52 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
53
54         * testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
55         warnings.
56
57         * grel.c: #include <string.h>
58
59 Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
60
61         * glib.h (GScanner): cleanups of the structure fields (binary
62         incompatible).
63
64 Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
65
66         * glib.h: add new hash and equal functions g_int_*.  complement
67         g_direct_hash with g_direct_equal.
68
69         * grel.c: new file, GRelations implement tuples of N-N mappings.
70         A comment in glib.h briefly describes the interface.
71
72         * ghash.c: new function, g_hash_table_size
73
74         * glib.h: new typedefs, gsize, gssize, gtime.
75
76         * garray.c: new functions implementing a simplified GArray.  This
77         GPtrArray is an array of gpointers and has functions to add and
78         remove elements, much like java.lang.Vector.
79
80         * garray.c: new functions for the single-byte special case of
81         GArray.  The functions g_byte_array* operate on arrays of bytes.
82         Internally, a GArray is used.
83
84         * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
85
86 1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
87
88         * gdataset.c: #include <string.h>
89
90 Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
91
92         * glib.h:
93         * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
94         sizes, to take up less space on initial allocation.
95
96 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
97
98         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
99         the version from which glib's libtool forked.  Needed for people
100         who use post-1.2 alphas of libtool.
101         * configure.in (enable_mem_check, enable_mem_profile): Replace
102         `echo -n' with AC_MSG_CHECKING.
103         (fd_set): Explain test for `fd_set' better.
104
105 Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
106
107         * Makefile.am glib.m4 configure.in:
108         
109         Moved out from GTK+; added AM_PATH_GLIB macro.
110
111 Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
112
113         * glib.h: renamed g_const_pointer => gconstpointer
114
115 Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
116
117         * glib.h: Remove #error - HP/UX.
118
119 Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
120   [ Combination of:
121      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
122      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
123         
124         * glib.h ghash.c gstring.c gdataset.c gutils.c:
125         - Added new typedef g_const_pointer; expunged all incorrect
126           uses of 'const gpointer'.
127         - Fixed up warnings that that created,
128         - Changed GHashFunc and GCompareFunc to take g_const_pointer
129           arguments. (Necessary, but will cause warnings in existing
130           code until fixed)
131         - Added other new const in harmless positions.
132
133 Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
134
135         * glib.h: added enum-helper macros for code generation.
136         added G_BREAKPOINT().
137
138 Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
139
140         * gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
141         problems
142
143 Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
144
145         * glib.h (g_chunk_new0): convenience macro, for allocating small chunks 
146         like g_chunk_new() with additional 0 initialization.
147
148 Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
149
150         * ghash.c (g_hash_table_insert): wrote a comment describing why
151         a hash node's key should not also get replaced when overriding
152         previous entries.
153
154 Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
155
156         * glib.h (g_string_sized_new): new function to controll the preallocated
157         size of a GString.
158
159         * glib.h (g_strreversed): new function to reverse a string.
160
161 Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
162 (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
163         
164         * gutils.c: Restored a missing prototype for g_vsprintf.
165
166 Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
167
168         * glib.h: conditionally define NULL, FALSE and TRUE.
169         (g_mem_chunk_create): new convenience macro as a short hand for
170         g_mem_chunk_new().
171         (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
172
173 Tue, 19 May 1998 09:00:02 +0200  Â§Paolo Molaro <lupus@debian.org>
174
175         * gcompletion.c: generic functions for com<TAB>pletion...
176
177 Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
178
179         * gscanner.c (g_scanner_unexp_token): provide usefull default
180         specifications for identifier_spec and symbol_spec.
181
182         * glib.h: new functions g_slist_nth_data and g_list_nth_data to return
183         the data of the nth element in the list.
184
185 Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
186
187         * gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
188         that for some reason didn't produce a compiler wrning on my machine
189         (is va_end undefined for i386?).
190
191 Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
192
193         * gscanner.c: replaced some snprintf with g_snprintf
194
195 Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
196
197         * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
198         G_GNUC_NORETURN and G_GNUC_CONST.
199
200         * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
201         (g_scanner_msg_handler): "\n" at end of line!
202         (g_scanner_foreach_symbol): new function to iterate over the symbol
203         table (GScanner does value-wrapping).
204
205 Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
206
207         * glib.h: typedef gint gboolean;
208         this is needed to provide portability with big-endian platforms (e.g.
209         try sizeof(bool) for c++ on big-endians - it's 4).
210         this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
211         plus, gint to gboolean casts and vice versa need to be possible without
212         loss.
213
214 Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
215
216         * glib/glib.h: Added macros G[U]INT_TO_POINTER() and
217         GPOINTER_TO_[U]INT for storing small integers integers
218         inside pointers. 
219         
220         * glib/testglib.c: Print sizeof() results
221         as g_print("%ld", (glong)sizeof(foo)), to deal with
222         size_t being long on Alpha's.
223
224 Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
225         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
226         
227         * glib.h gstring.c gmessages.c: Added some missing
228         const to arguments.
229
230         * gutils.c (g_strsignal.c): Added missing return statements.
231
232 Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
233
234         * gutils.c gmessages.c: Moved g_error, g_warning, g_message and
235         g_print from gutils.c to new file gmessages.c, to avoid having to
236         include <unistd.h> in gutils.c which was causing problems for the
237         g_strsignal implementation on FreeBSD boxes.
238
239 Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
240
241         * configure.in: preserve automake CFLAGS.
242
243         * Makefile.am: fully rename the created library to libglib-1.1.la.
244         this means we need to change certain portions of the Makefile.am on
245         major/minor version bumps.
246
247         * ltmain.sh: the -release option is not required anymore.
248
249         * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
250         avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
251         MIN, ABS and CLAMP, these macros might be screwed from other headers.
252
253 Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
254
255         * gdataset.c: new file, gdatasets implement the object data
256         mechanism from GtkObject. a generic data pointer is associated with
257         a certain location and a key id.
258
259 Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
260
261         * glib/gmem.c: Experimentally restore GMemChunk
262         to its primeval state - where mem areas are
263         freed incrementally instead of searching the tree
264         every time a mem area is completely empty. Also,
265         always keep one mem chunk around. (Reduced calls
266         to malloc() a lot, but doesn't really improve
267         performance significiantly)
268
269 Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
270
271         * glib.h (G_GNUC_PRINTF):
272         (G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
273         checking of gcc.
274
275         * gstring.c: const corrections, string!=NULL checks at function entry.
276         (g_string_down): new function for tolower(3) conversion.
277         (g_string_up): new function for toupper(3) conversion.
278
279         * gutils.c: const corrections.
280         (g_strdown): g_string_down() counterpart.
281         (g_strup): g_string_up() counterpart.
282
283         * gscanner.c (g_scanner_unexp_token):
284         (g_scanner_error):
285         (g_scanner_warn): new functions to let a scanner put out warnings
286         or errors, especially to react on unexpected tokens.
287
288         * gslist.c:
289         (g_slist_index): find out about about the position of a
290         certain data pointer.
291         (g_slist_position): find out about about the position of a
292         certain node.
293
294         * glist.c:
295         (g_list_index): find out about about the position of a
296         certain data pointer.
297
298 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
299
300         * ltmain.sh: added a new commandline flag -postfix similar to -release,
301         but will immediately change the library name.
302
303         * Makefile.am: specify -postfix and -version-info
304
305         * configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
306         GLIB_BINARY_AGE. calculate LT_* variables for libtool.
307
308 Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
309
310         * gutils.c: (g_strcasecmp). Check for isupper before
311         taking tolower, and account for macroized tolower.
312
313         * gutils.c (g_error): Check for recursion.
314
315 1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
316
317         * glist.c (g_list_position): New function to find the position of
318         a link in a list - should be the inverse of g_list_nth(), but
319         haven't tested it so poof.
320
321 Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
322
323         * gstring.c : Check arguments more carefully, 
324         (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de) 
325
326 Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
327
328         * gutils.c (g_direct_compare): Removed, because that's what
329         a NULL comparison function means. And it wasn't 64 bit safe.
330
331 Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
332
333         * gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
334         of the format ".xxx" to be parsed as "xxx".
335
336 Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
337
338         * gutils.c (g_parse_debug_string): Make debug string
339         parsine case-insensitive
340
341 Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
342
343         * gstring.c: corrected possible overrun when inserting into
344         GStrings (thanks Elrond)
345
346 Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
347
348         * testglib.c: Removed literal german from strings
349         to appease SGI compiler.
350         
351 Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
352
353         * configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
354         use on_exit if atexit not found in definition of ATEXIT.
355
356 Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
357
358         * Makefile.am: Switched glibconfig.h rule from HEADERS
359         to DATA, so that it is not added to DISTFILES
360
361 Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
362
363         * garray.c: g_rarray_truncate length done correctly
364
365 Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
366
367         * gutils.c: changed *_handler variables to be named glib_*_handler,
368         so you can easily access them from gdb.
369
370 Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
371
372         * Makefile.am: Don't refer to current directory as $(top_builddir)
373         to avoid confusing non-gmakes
374
375 Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
376
377         * Makefile.am (configincludedir): Moved glibconfig.h to
378           $(pkglibdir)/include
379
380 Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
381
382         * gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
383         free symbol table entries upon destruction
384         (gtk-gronlund-980309-0.patch.gz).
385
386 Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
387
388         * glib.h: changed *_length functions to return guint.
389         changed *_nth functions to take guint as argument.
390
391         * glist.c: adapted g_list_length and g_list_length.
392
393         * gslist.c: adapted g_slist_length and g_slist_length.
394
395 Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
396
397         * glib.h gutils.c : changed g_strcasecmp
398           to take gchar* not guchar*
399
400         * testglib.c: Remove trailing ; after functions
401         
402 Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
403
404         * glib.h gstring.c: Added g_string_insert[_c]()
405           and g_string_erase().
406
407           From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
408
409 Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
410
411         * glist.c (g_list_insert_sorted): Changed function
412           so elements are always inserted, even if they compare
413           equal with another.
414
415 Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
416
417         * gstring.c glib.h: removed deprecated g_string_equal
418           and g_string_hash.
419
420 Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
421
422         * configure.in: Add check to see if the C library's
423           iswalnum can actually be used. (Not true for
424           Linux libc-5.4.38)
425
426 Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
427
428         * gstring.c gutils.c: added some additional consts in
429           appropriate places to remove a warning
430
431 Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
432
433         * gutils.c: include <ctype.h> for tolower()
434
435 Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
436
437         * added and autoconfigured in a new utility function
438         g_strcasecmp
439
440 Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
441
442         * glist.c
443         * gslist.c
444         * testglib.c: the sort functions compared backwards. Fixed
445         * glib.h: list iterator macros now check for NULL pointers
446
447 Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
448
449         * gstring.c: g_string_prepend and g_string_prepend_c had
450         interchanged src and dest parameters for g_memmove. Fixed.
451
452 Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
453
454         * gslist.c: fixed a really, really lame error. g_slist_insert
455         didn't hook the data in! Reworked the routine to reflect the
456         functionality of g_list
457
458 Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
459
460         * Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
461           to add function g_snprintf.
462         * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
463         * glib.h: Add prototype for g_snprintf.
464         * glibconfig.h.in: Add HAVE_VSNPRINTF.
465         * gutils.c (g_snprintf): new function.
466
467 Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
468
469         * gstring.{c,h} gscanner.c:
470            renamed g_string_equal => g_str_equal
471            renamed g_string_hash => g_str_hash
472           And const corrected. Old functions left in for now.
473         
474 Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
475
476         * gutils.c (g_strerror): changed message for EAGAIN from
477         "no more processes" to "try again" since EAGAIN is used with
478         functions else than fork().
479
480         * gscanner.c (g_scanner_get_token_ll): use strtol() instead of
481         strtoul() to avoid conflicts with solaris.
482
483         * merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
484         into this file.
485
486 Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
487
488         * glib.h:
489         * glist.c:
490         * gslist.c:
491         * testglib.c: Added g_[s]list_insert_sorted function
492         and appropriate tests in testglib
493
494 Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
495
496         * glib.h: Changed guint32 -> guint for bitfields.
497         (Bitfields must be int or unsigned int?)
498
499 Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
500
501         * glib_pre1.h: 
502         * glib_pre2.h: 
503         * glib.h: reverted glibconfig.h and glib.h files back to the
504         way they were before my ugly hack.
505
506         * gscanner.c: removed inlines from clist and gscanner
507
508 Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
509
510         * gscanner.c: new file for GScanner: Flexible lexical scanner for
511         general purpose.
512         * glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
513         gutils.c (g_strconcat): new function for string concatenation of NULL
514         terminated parameter list.
515         (g_strtod): new function to perform best string to double conversion
516         with or without consideration of the current locale.
517
518 Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
519
520         * glist.c: minor optimizations:
521         (g_list_append): `if' optimized for common code path, commented out
522         unneccessary `assert', saved one variable assignment.
523         (g_list_prepend): saved two (conditioned) variable assignment.
524         (g_list_insert): saved one  (conditioned) variable assignment,
525         saved one variable assignment.
526         (g_list_remove): `if' optimized for common code path, saved two
527         variable assignments by using `g_list_free_1' (which is even
528         faster) instead of `g_list_free'.
529         (g_list_reverse): saved allocation of one variable, saved one
530         variable assignment.
531
532 Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
533
534         * glib_pre1.h: 
535         * glib_pre2.h: 
536         * glib.h: this file now gets concatenated by makeglib_h from
537         glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
538         created by configure (done by Jay Painter).
539
540         * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
541         are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
542         when used within if (...) g_macro(); else ... conditionals.
543         
544 Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
545
546         * glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
547         not call 'g_string' but to simply stringify the
548         expression. Calling 'g_string' causes the expression to be
549         expanded which is undesired.
550
551 Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
552
553         * Started ChangeLog