minor optimization.
[platform/upstream/glib.git] / ChangeLog
index 60df74c..bbd5d84 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,430 @@
+Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
+
+       * gslist.c (g_slist_reverse): minor optimization.
+
+       * testglib.c (g_node_test): added a couple of tests for
+       g_node_copy().
+
+       * glib.h:
+       * gnode.c (g_node_copy): new function to copy subtrees,
+       supplied by dbsears@ix.netcom.com.
+       changed iterator to walk the children list backwards, so
+       we get down from O(n^2) to O(n).
+
+       * gnode.c (g_node_first_sibling): applied patch from
+       dbsears@ix.netcom.com to optimize access if node->parent
+       is present.
+
+       * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
+       assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
+       thus breaks the original code.
+
+       * merged changes from 1.2.7.
+
+Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
+
+        Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
+
+        * gtimer.c (g_timer_elapsed): Never report negative times -
+        clip times to 0.
+
+        * gmain.c (g_timeout_prepare): Guard against unexpected
+        clock shifts by never setting a timeout of more than
+        data->interval msecs.
+
+2000-02-27  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.def: Add new functions.
+
+2000-02-23  Tor Lillqvist  <tml@iki.fi>
+
+       * README.win32: Add a missing step to the setup instructions for
+       gcc-2.95.2. Thanks to Arnaud Charlet.
+
+       * glib.def: Add missing entry point.
+
+2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * configure.in: Changed GCC version test to also accept major
+       versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
+       pointing this out.
+
+Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
+
+        * gstring.c: changed g_str_hash() to a 31 bit version based on
+       a submission by Karl Nelson and hand optimized ad absurdum by
+       various people ;)
+
+       * gstring.c: applied patch from havoc for new gstring functions,
+       added some more sanity checks, coding style fixups.
+
+2000-02-13  Havoc Pennington  <hp@pobox.com>
+
+       * tests/string-test.c (main): Add tests for the new GString 
+       features
+
+       * testglib.c (main): Add tests for the new GString features
+
+       * gstring.c (g_string_insert_len): New function; insert 
+       a given length of string at a given position. 
+       (g_string_append): reimplement in terms of g_string_insert_len
+       (g_string_append_len): new function
+       (g_string_insert_c): accept -1 for "pos" arg to mean "append"
+       (g_string_append_c): reimplement in terms of g_string_insert_c
+       (g_string_prepend): reimplement in terms of g_string_insert_len
+       (g_string_prepend_len): new function
+       (g_string_prepend_c): reimplement in terms of g_string_insert_c
+       (g_string_insert): reimplement in terms of g_string_insert_len
+
+       * glib.h: Declare g_string_insert_len, g_string_append_len,
+       g_string_prepend_len
+       
+Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
+
+       * configure.in: wtf??? someone destroyed the configure.in, reverting to
+       an older version from Feb 4 which apears to still work.
+
+2000-02-07  Tor Lillqvist  <tml@iki.fi>
+
+       * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
+
+       * Makefile.am
+       * gmodule/Makefile.am
+       * gthread/Makefile.am: Change accordingly.
+       
+       * makefile.cygwin: Corresponding changes, some cleanup.
+
+2000-02-05  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
+       version info in the DLLs on Win32.
+
+       * Makefile.am: Generate corresponding *.rc files and distribute
+       them.
+
+       * makefile.cygwin.in: Add rules to automatically bump a "build
+       number" in the version info in the rc files each time the DLL is
+       built. But do this only for the person who releases binaries. If
+       others build the DLLs, the build number is set to zero.
+
+Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
+
+       * glib.h: 
+       * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
+       and g_dataset_id_remove_no_notify() to avoid second lookup for common
+       use.
+
+2000-02-01  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.h
+       * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
+       functions for conversion between UTF-8 and the encoding expected
+       by C runtime functions like open() and stat(), and returned by
+       readdir().
+
+       Implement them on Win32 where we use the system "ANSI" codepage,
+       which might be single-byte or double-byte. On Unix, just skip the
+       issue for now and provide dummy implementations that return a copy
+       of the argument.
+
+       * README.win32
+       * build-dll
+       * glib.def: Minor updates.
+
+Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
+       refetch the current time after invocation of poll() to cover up for
+       the time spent in that function call.
+
+Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
+       the number of elements in an array.
+
+Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
+
+       * gstrfuncs.c (g_strtod): correctly fetch the current locale,
+       fix from owen.
+
+1999-12-16  Tor Lillqvist  <tml@iki.fi>
+
+       * gmodule/gmodule-win32.c: Use FormatMessage to translate system
+       error codes into textual messages.
+
+1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * glib.h (G_TRYLOCK): This of course should return TRUE in a
+       program with a thread-disabled GLib.
+
+1999-11-18  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.def: g_strjoin was missing.
+
+1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, config.h.win32.in, configure.in: Renamed
+       GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
+       changed meaning.
+
+       * configure.in: Cope with systems, that have a pthread_t type,
+       that is not a pointer. Hint from Karl Nelson
+       <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
+       for Solaris. Cope with systems, that have no default mutex
+       initialize, like obviously most DCE systems.
+
+       * glib.h, gthread.c: Changed the prototype of thread_create and
+       thread_self to return the system thread into provided memory
+       instead of a return value. This is necessary, as HPUX has a
+       pthread_t, that is bigger than the biggest integral type there.
+
+       * gthread.c: system_thread is no longer a pointer, but an memory
+       area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
+       zeroinitialization and the tests for zeroness accordingly.
+
+1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * configure.in: Create docs/glib-config.1 from
+       docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
+
+       * glib-config.1: Removed from CVS, as it is a generated file.
+
+1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+        * configure.in: Make the test for getpwuid_r work on newer AIX
+        versions, too. Still works on Solaris and Linux. Patch from Craig
+        Rodrigues <rodrigc@mediaone.net>.
+
+1999-11-08  Tor Lillqvist  <tml@iki.fi>
+
+       * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
+       and LANG first. Some refinements to the sublanguage logic.
+
+1999-11-04  Tor Lillqvist  <tml@iki.fi>
+
+       * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
+       (preprocessed source) files.
+
+1999-11-01  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.h
+       * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
+       to match the GLib naming conventions.
+
+       * gutils.c
+       * gwin32.c
+       * testglib.c
+       * Makefile.am: Move the Win32-only functions to the new
+       file gwin32.c
+
+1999-10-31  Tor Lillqvist  <tml@iki.fi>
+
+       * gutils.c (gwin_getlocale): New Win32-specific function, returns
+       a Unixish current locale string (en, zh_TW etc).
+
+       * glib.h: Declare it.
+
+       * glib.def: Export it.
+
+       * testglib.c: Test it.
+
+       * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
+       make sure we don't call AllocConsole several times, which I think
+       has happened.
+
+Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
+
+       * gcache.c (g_cache_remove): Test if node is NULL.
+       If not tested, GIMP's script-fu will crash. 
+
+Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
+
+        * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
+        destroy() notification here as well.
+
+1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+        * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
+        is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
+
+Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h: removed useless g_string(x) macro that cluttered the namespace
+       and was just a poor wrapper around the cpp '#' symbol, use #x if you
+       need to work around this.
+       added new macro G_STRINGIFY(arg) that will convert arg to a string,
+       no matter whether it contains macros or not.
+
+1999-10-12  Tor Lillqvist  <tml@iki.fi>
+
+       * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
+       too.
+
+       * glib.h: Small Win32 comments improvement.
+
+Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
+
+       * gmessages.c (g_printf_string_upper_bound): completly new implementation
+       for printf string upper bounds calculation.
+       we handle all glibc 2.1 format specifiers now, except for positional
+       parameters (%nn$...) and wide char strings, plus some obscure upper
+       case variants of the standard conversions. this fixes a lot of
+       bugs in the old code, i.e.
+       - NULL format strings
+       - floats with exponents >+24
+       - %G
+       - precision specifications in general
+       - negative field widths
+       - %p for SIZEOF_VOID_P > 4 platforms
+       we now issue warnigns in places where the old code would have
+       caused buffer overruns anyways. warnings are suppressed when invoked
+       from glogv(), to avoid infinite recursions if someone passes a log
+       message that comes with really obscure format specifications.
+
+Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
+
+       * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
+
+Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
+       mantissa and exponent of IEEE floats and doubles (required by the new
+       version of g_printf_string_upper_bound). the unions are endian specific,
+       we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
+       and doubles are supported (used for storage) by at least intel, ppc and
+       sparc, reference:
+        http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
+       
+Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
+
+       * configure.in: added additional checks to figure sizes of size_t,
+       ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
+
+Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
+
+       * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
+
+1999-10-05  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.h: (Win32) Drop the mapping of POSIX function names to the
+       underscored versions, it's unnecessary after all. With MSVC we get
+       them from oldnames.lib, with gcc-2.95 and mingw32 from
+       -lmoldname-msvc. Add comment about what headers to include for
+       prototypes.
+
+       * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
+
+       * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
+
+       * build-dll: Don't strip.
+
+       * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
+
+       * glib.def: Add g_thread_use_default_impl.
+
+Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
+
+       * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
+
+Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
+
+       * acconfig.h
+       * configure.in
+       * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
+       and beos stuff right, but I haven't tested it. The respective
+       porters should fix any screwups
+
+       * glib.h
+       * gerror.c
+       * gmain.c
+       * gmessages.c
+       * gscanner.c
+       * gthread.c
+       * gtimer.c
+       * gutils.c
+       * testglib.c: use G_OS stuff
+
+Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
+       avoid "ANSI C++ forbids implicit conversion from `void *' in argument
+       passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
+       for erroring out on this, instead of just issueing a warning).
+
+       * glib.h (g_trash_stack_pop): use uncasted NULL again.
+       
+Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
+
+       * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
+       from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
+       sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
+       restriction of 65536 bytes. we also catch cases where users pass an area
+       size < atom size with a return_if_fail statement now (which is ok,
+       because previously this lead to memory corruption anyways).
+
+Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
+       pointer to cure ANSI C++ error.
+
+Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
+
+       * gmessages.c (g_logv): in case we have to abort the program,
+       debugging is enabled and we are not called recursively, try
+       to abort with raise (SIGTRAP) first, so developers may ignore
+       certain failure conditions during debugging stage.
+
+Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
+
+       * Makefile.am:
+       * gmodule/Makefile.am:
+       * gthread/Makefile.am: added --export-dynamic so we can load dynmic
+       modules, (required, according to the libtool 1.3.3 docu).
+
+1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
+       which /dev/random might do. Do not XOR the time, when getting the
+       seed form /dev/urandom, as this is good itself. Prevent the
+       initial seed from being zero, which causes the PRNG to produce
+       only zeros. Hints from Colin Plumb <colin@pgp.com>.
+
+1999-08-17  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.h (g_trash_stack_push): Add a cast.
+
+       * gslist.c
+       * glist.c: Make the inline functions static inline, and add
+       separate extern wrappers. Not all compilers produce callable entry
+       points for inline functions, even if gcc does.
+
+Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
+
+       * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
+       has not neccessarily been included prior to glib.h.
+
+Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
+
+       * configure.in: added --enable-msg-prefix option.
+
+       * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
+       if --enable-msg-prefix was selected (use "(process:%u): " if
+       g_get_prgname () returns NULL, along the lines of g_on_error_query).
+
+1999-08-03  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.h
+       * gstrfuncs.c
+       * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
+       g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
+       destination parameter, always g_malloc a new string.  Fix bug in
+       g_strcompress, octal digits were gobbled up without limit, should
+       use max three.
+
+       Sources that use g_strescape must have ifdefs to be compilable
+       both with GLib 1.2 and 1.3.
+
 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
 
        * glib.h