Commit Graph

1285 Commits

Author SHA1 Message Date
Manish Singh
215251e99d reimplemented the endian stuff, using inline asm for x86. #define g_htonl
* glib.h: reimplemented the endian stuff, using inline asm for x86.
#define g_htonl and friends.

* testglib.c: new tests for the endian stuff

* configure.in: care for AIX in gmodule linker flags test (from Joel Becker
<jlbec@raleigh.ibm.com>). Check $host_os for linux instead of existance of
/usr/include/linux

* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out of thine
existance!

-Yosh
1998-10-27 06:19:42 +00:00
Tor Lillqvist
a6149403de removed dummy structure definitions for struct _GCache, _GTree, _GTimer,
Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed dummy structure definitions for struct _GCache,
        _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.

        * gutils.c: implement glib's inline functions _after_ all include
        statements have been processed.
        removed Tor's MAXPATHLEN check since there already was one supplied
        further down in this file.
        (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
        since lcc maybe used on other platforms as well. why in hell is this
        stuff required?
        (g_get_any_init): for windows, if the user name is supplied, use it as
        realname also.
        in general, if there is no homedir specified, use the tmpdir that
        we already figured.

        * gtimer.c (g_timer_elapsed): changed a g_assert() statement to
        g_return_if_fail().

        * applied glib-tml-981020-0.patch for WIN32 portability, added some
        comments and g_return_if_fail() statements, minor indentation fixes.
        ChangeLog entry from Tor Lillqvist is appended.

        * glib.h (struct dirent): use lower case structure members.

        * glib.h:
        * makefile.lcc:
        * makefile.msc:
        s/COMPILING_GLIB/GLIB_COMPILATION/

1998-10-20: Tor Lillqvist <tml@iki.fi>

        * README.win32 glib.def gmodule.def
        * glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
        New files for the Windows port. The .def files list exported
        symbols for the Microsoft linker and compatibles.

        * configure.in:
        Added checks for some platform-dependent headers: pwd.h sys/param.h
        sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.

        * gerror.c:
        Conditionalized inclusion of system-dependent headers. Changes
        for Windows: no gdb to do a stack trace. Just call abort().

        * glib.h:
        Changes for Windows:

        Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
        platform-dependent file name syntax elements. Added macros
        G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
        platform-dependent search path syntax conventions.

        Added pragmas for Microsoft C to make it more pedantic.

        Marked GLib's global variables for export from DLL.

        Added the function g_strescape that escapes backslashes.

        Added functions g_path_is_absolute and g_path_skip_root to
        handle platform-dependent file name syntax.

        Added the function g_getenv that expands environment variables
        that contain references to other environment variables, as is
        typical on Windows NT.

        Added the GIOChannel structure which is used to encapsulate the
        IPC mechanism used by the GIMP's plug-ins, and possibly other
        things later. On Unix a GIOChannel encapsulates just a file
        descriptor. On Windows it contains a file handle from _pipe() and a
        few other things related to the implementation of gdk_input_add
        and GIMP plug-in communication. Subject to change.

        Removed duplicate declarations of the version variables.

        For the Microsoft compiler, declare own implementation of
        ftruncate and the <dirent.h> functions.

        * gmem.c:
        Define a symbolic name  for the profiling table size.

        * gmessages.c:
        Conditionalized inclusion of unistd.h. On Windows, output using
        stdio to stdout.

        * gscanner.c:
        Conditionalized inclusion of unistd.h. Added changes for
        Microsoft C. Added CR to the skipped character set. Added small
        workaround for MSC compiler bug in g_scanner_cur_value.

        * gstrfuncs.c:
        Added the function g_strescape, which escapes the backslash
        character. Needed especially when printing Windows filenames.

        * gtimer.c:
        Conditionalized inclusion of unistd.h and sys/time.h. Added
        implementations for Windows.

        * gutils.c:
        Conditionalized inclusion of platform-dependent headers. Use
        the platform-independent file name syntax macros.
        Conditionalize code on platform-dependent features. Added the
        functions g_path_is_absolute g_path_skip_root and g_getenv.
        Added the GIOChannel-related functions. Added
        compiler-dependent Unix compatibility functions for Windows.

        * makefile.lcc makefile.msc:
        New files. Compiler-specific makefiles for LCC-Win32 and
        Microsoft C. Only Microsoft C is actually supported currently.

        * testglib.c:
        Added pathname check cases for Windows. Added workaround for
        bug in the Microsoft runtime library. Improved some tests a bit.

Tue Oct 27 04:00:11 1998  Tim Janik  <timj@gtk.org>

        * testgmodule.c (main): changed the #ifdef WIN32 test to NATIVE_WIN32,
        this needs to be more constistent throughout the code, do we go for
        NATIVE_WIN32 or WIN32?

        * gmodule.c (LibMain): special cased the #ifdef __LCC__ case for
        NATIVE_WIN32, since lcc maybe used on other platforms as well.
        * libgplugin_a.c (LibMain):
        * libgplugin_b.c (LibMain):
        likewise. not sure i like this special requirement for lcc in here.

        * gmodule-dl.c (_g_module_build_path):
        feature empty "" directories and prepend the module name with "lib".

        * gmodule-dld.c (_g_module_build_path):
        * gmodule-win32.c (_g_module_build_path):
        feature empty "" directories.

        * we need some more magic in the _g_module_build_path variants
        so we don't append/prepend lib and .so, .sl or .dll for those names
        that already contain it.

        * applied patch from Tor Lillqvist for g_module_build_path() and
        windows support.

1998-10-20: Tor Lillqvist <tml@iki.fi>

        * gmodule/gmodule-win32.c:
        New file.

        * gmodule/gmodule.c gmodule/gmodule.h:
        Added the funcion g_module_build_path that builds the path to
        a module file, decorating the name according to the system's
        conventions.  Added the Windows implementation.

        * gmodule/libgplugin_a.c gmodule/libgplugin_b.c:
        Added LibMain for LCC-Win32.

        * gmodule/testgmodule.c:
        Handle Windows dll names.
1998-10-27 04:11:34 +00:00
CST 1998 Shawn T. Amundson
c3d01e7332 Released GLib 1.1.4
Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.4

        * docs/Makefile.am:
        * docs/.cvsignore
        * docs/glib-config.1:
        * docs/glib.texi: Moved docs from gtk and created glib-config.1
        from gtk-config.1 in gtk

        * configure.in:
        * Makefile.am:
        * sanity_check: added in docs directory, change rule 'release'
        to 'snapshot' and created a new 'release' rule for doing the
        distribution.  Added in a 'sanity' rule.

        * NEWS:
        * README:
        * INSTALL: Updated for the release
1998-10-25 08:20:31 +00:00
Tim Janik
e86746f168 no more characters are available if read() returns anything less than 1,
Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>

        * gscanner.c:
        (g_scanner_peek_next_char):
        (g_scanner_get_char): no more characters are available if read() returns
        anything less than 1, not only on 0 return.

        * glib.h:
        * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
        argument order requirements.
        (g_strsplit): renamed from g_str_array_split().
        (g_strjoinv): renamed from g_str_array_joinv(), string array is
        now passed as last parameter. removed `const' qualifier from string
        array pointer (again).
        (g_strjoin): new function from sopwith to concatenate strings with
        an additional seperator.
        (g_strfreev): renamed from g_str_array_free.
1998-10-25 06:44:49 +00:00
Manish Singh
36ab196523 small fix to g_node_children_foreach to make it work right. From Paco Moya
<paco@cadnotebk17.eecs.berkeley.edu>

-Yosh
1998-10-25 05:24:49 +00:00
Tim Janik
634e4a58c6 reverted part of the changes from Sebastian Wilhelmi (1998-10-20). don't
Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>

        * configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
        from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
        behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
        changed the return value from (!f2 && f1) to (!f2 || f1) so we default
        to not needing an underscore. reverted the extra plugin.c building,
        because .lo files are not ELF libraries, this can't work. This needs
        further investigation on Solaris...

Wed Oct 21 19:58:27 1998  Tim Janik  <timj@gtk.org>

        * gmodule.c (g_module_symbol): fixed a string pointer bug that could
        cause garbage error messages from g_module_symbol() for systems that
        NEED_USCORE.
1998-10-21 18:04:47 +00:00
Tim Janik
2009313501 API cleanups of the new g_str* functions for consistency with the existing
Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstrfuncs.c: API cleanups of the new g_str* functions for consistency
        with the existing naming scheme for g_str* functions. grouped the g_str*
        functions that will return a newly allocated string seperatedly. all of
        the in_place arguments were skipped, the caller is supposed to pass a
        g_strdup()ed string if he wants to retrive a new copy. indentation and
        coding style fixups. added some g_return_if_fail() statements.
        string array functions are prefixed with g_str_array_.
        (g_strdelimit): return the modified string like all other g_str*
        functions, that operate in place.
        (g_strchug): renamed from g_str_chug(), removed in_place argument.
        (g_strchomp): renamed from g_str_chomp(), removed in_place argument.
        (g_strstrip): renamed from g_str_strip(), removed in_place argument.
        (g_str_array_join): renamed from g_strconcatv(), since it actually
        operates on a string array and has totaly different semantics from
        g_strconcat(). check for separator != NULL, don't segfault if the first
        string is NULL. removed the `const' from the string array that's passed,
        so users can operate on gchar** string arrays.
        (g_str_array_split): renamed from g_str_split() because we actually
        produce a string array. reimplemented this function for efficiency.
        removed macro aliases g_str_joinv and g_str_join.
1998-10-21 17:18:22 +00:00
Elliot Lee
039de051ef Move string join/split/free routines from libgnome/gnome-string, rename,
* glib.h, gstrfuncs.c: Move string join/split/free routines from
 	libgnome/gnome-string, rename, and add g_str_chug.
1998-10-20 21:41:55 +00:00
Sebastian Wilhelmi
fb20a36775 made the check for needed underscore in module's func-names work on
1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: made the check for needed underscore in module's
	func-names work on solaris. (G_MODULE_NEED_USCORE must be set
	outside AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
1998-10-20 14:39:55 +00:00
Manish Singh
1a3648688f configure.in added test for endianness
* configure.in
* acconfig.h: added test for endianness

* glib.h: #define endian macros for system and some conversions
between byte order

-Yosh
1998-10-20 10:43:39 +00:00
Tim Janik
bee522aa57 removed functions g_dataset_id_set_destroy and g_datalist_id_set_destroy
Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: removed functions g_dataset_id_set_destroy and
        g_datalist_id_set_destroy and macros g_dataset_set_destroy and
        g_datalist_set_destroy.
        added new functions g_dataset_id_remove_no_notify and
        g_datalist_id_remove_no_notify plus associated macros
        g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
        will remove a certain data portion without invokation of its destroy
        notifier, this should only be used in very controled circumstances.
1998-10-08 06:32:49 +00:00
Tim Janik
43cc1dbf96 removed the #pragma } statement after extern "C" {. use (c-set-offset
Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        removed the #pragma } statement after extern "C" {. use
        (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.

        * glib.h:
        * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
        G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
        changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
        G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
        fixed the g_hook_find* functions, so they iterate over non-active
        hooks as well.
        (g_hook_first_valid):
        (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
        which indicates whether G_HOOK_IN_CALL() hooks are considered valid
        or not. these two functions are meant as iterators for the hook list
        invocation, so they need to a) provide functionality to implement
        may_recurse bahaviour and b) only walk active hooks.
1998-10-07 04:19:14 +00:00
Tim Janik
823a25beb6 fixed memory offsett when ENABLE_MEM_CHECK is defined and
Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>

        * gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
        defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
        <mbp@wistful.humbug.org.au>).
1998-10-06 12:35:30 +00:00
Tim Janik
ba5aabfa36 properly handle the first valid hook to call, it maybe IN_CALL already.
Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c:
        (g_hook_list_invoke):
        (g_hook_list_invoke):
        (g_hook_list_marshal): properly handle the first valid hook to call,
        it maybe IN_CALL already.
        (g_hook_list_marshal): minor name change.

Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
        with ObjC which reserves "id" as a keyword (Raja R Harinath
        <harinath@cs.umn.edu>).
1998-10-02 23:21:58 +00:00
Tim Janik
48adba2805 added ghook.c.
Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: added ghook.c.

        * glib.h:
        * ghook.c: generic callback maintenance functions.

        * glib.h: define G_GNUC_UNUSED.
1998-09-30 08:56:00 +00:00
Tim Janik
77e4f76f16 version bump to 1.1.4, binary age 0, interface age 0.
Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.4, binary age 0, interface age 0.

        * glib.h (struct _GScanner): dumped peeked_char and text_len in favour
        of *text_end and *buffer for buffered read()s.

        * gscanner.c: changed peeking and retrival of next character so we
        have buffered reads. fixed minor bug with number parsing error
        reporting. made some static!!! variables local ones (why did we use
        static temporary variables in the lowlevel tokenization code anyways?).
1998-09-25 00:44:38 +00:00
CDT 1998 Shawn T. Amundson
d120d02a8c Released GLib 1.1.3
Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.3
1998-09-22 04:41:02 +00:00
Tim Janik
e66a0ced67 added g_renew() which works as g_new() for g_realloc().
Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>

        * glib.h: added g_renew() which works as g_new() for g_realloc().
1998-09-21 06:13:06 +00:00
Tim Janik
2d68cbbb7d NEWS file update for upcoming release of GLib + GModule version 1.1.3,
Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>

        * NEWS file update for upcoming release of GLib + GModule
        version 1.1.3, binary age 0, interface age 0. (GModule uses
        the same version numbers as GLib.)

        * glib.h: swap the inclusion of of float.h and limits.h to work
        around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
        Per Abrahamsen  <abraham@dina.kvl.dk>).

        * glib.h:
        * gscanner.c: renamed the GValue union to GTokenValue, this should
        not affect source compatibility in most cases.

        * ghash.c: added some g_return_if_fail() statements. make
        g_hash_table_lookup_node() an inline function so we save an extra
        function invokation on lookups.

Mon Sep 21 01:54:48 1998  Tim Janik  <timj@gtk.org>

        * gmodule.h:
        * gmodule.c: renamed old _de_init functionality to _unload.
        modules are now expected to export:
        G_MODULE_EXPORT const gchar* g_module_check_init (GModule *module);
        and
        G_MODULE_EXPORT void g_module_unload (GModule *module);
        returning a string other than NULL from g_module_check_init() will
        prevent the module from being loaded. a call to g_module_make_resident()
        from g_module_unload() will prevent the module from being unloaded and
        still make it resident.
1998-09-21 02:32:30 +00:00
Owen Taylor
b2268f6834 Patch to libtool-1.2b to make --disable-static
Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>

	* ltconfig.sh: Patch to libtool-1.2b to make --disable-static
1998-09-20 22:14:19 +00:00
Manish Singh
034e7c0339 This is Josh, commiting as Manish. This is completely new, and
nothing will break.

	* glib.h: New function g_hash_table_foreach_remove is similar to
 	g_hash_table_foreach, but the callback's return value indicates
 	whether to remove the element (if TRUE) or not (if FALSE).
1998-09-20 09:43:11 +00:00
Manish Singh
0dbf1d8cc4 Added g_memdup implementation
-Yosh
1998-09-18 18:32:59 +00:00
Tim Janik
4193614b1c make the datalists a safe type (not using a generic gpointer) by expecting
Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: make the datalists a safe type (not using a generic
        gpointer) by expecting a GData* argument in the g_datalist functions.
        provide g_dataset_foreach() and g_datalist_foreach() functions that
        allow a GDataForeachFunc function to walk the data lists.
        (g_dataset_destroy_internal): made this function truely reentrant (i.e.
        can be called from within destroy notifiers as well).
        the *_foreach functions are _not_ reentrant (unless all the other
        dataset and datalist functions).
1998-09-18 18:16:49 +00:00
Tim Janik
ac3a8ac9a7 check for key_compare_func != NULL (reported by Michal Kara).
Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>

        * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
        by Michal Kara).
1998-09-18 02:12:32 +00:00
Manish Singh
ebc96dde35 removed from repository
* config.h.in: removed from repository

* install-sh
* missing
* mkinstalldirs: updated to latest automake version

-Yosh
1998-09-18 02:02:02 +00:00
Tim Janik
ea4b8e4c02 implemented g_datalist_* along the lines of g_dataset, but operates on an
Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
        but operates on an opaque gpointer *datalist; pointer, e.g. for the
        implementation of GtkObject named data.
        we cache a certain portion of the already freed data entries now, to
        gain a slight performance improve with data reallocation.

Thu Sep 17 06:34:22 1998  Tim Janik  <timj@gtk.org>

        * gmodule.h:
        * gmodule.c: implemented g_module_make_resident() which can be
        used to make modules resident.
        fixed a buglet about the optional "g_module_de_init" function in
        modules, which could get invoked twice on very obscure occasions.
1998-09-17 04:59:41 +00:00
Owen Taylor
7cc610b064 Update to libtool-1.2b, change library versioning scheme to drop
Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
	change library versioning scheme to drop LT_RELEASE
	from the -l line, while keeping it in the soname.
1998-09-15 19:08:11 +00:00
Tim Janik
91e9b770c6 explicitely include the prototypes for inline functions to cure gcc
Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>

        * glib.h: explicitely include the prototypes for inline functions
        to cure gcc warnings for -Wmissing-prototypes.
1998-09-11 00:16:22 +00:00
Manish Singh
1b2750bd90 added -posix check for NeXTStep
-Yosh
1998-09-09 09:52:31 +00:00
Tim Janik
1d59832946 abandon the use of ATEXIT(), we keep the fallback macros for backwards
Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>

        * glib.h: abandon the use of ATEXIT(), we keep the fallback
        macros for backwards compatibility. people ought to use g_atexit().

        * gutils.c (g_atexit): new function to take over the implementation
        of ATEXIT. this function is guarranteed to succeed, similar to
        g_malloc().
1998-09-08 04:00:13 +00:00
Manish Singh
ce7ffeb304 comment the -std1 check and save LIBS properly
-Yosh
1998-09-08 03:08:22 +00:00
Tim Janik
0b42c37e7d check for all three inline keywords individually.
Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>

        * configure.in: check for all three inline keywords individually.

        * glib.h: inlining hassle. for compilers that don't allow the `inline'
        keyword, mostly because of strict ANSI C compliance or dumbness, we try
        to fall back to either `__inline__' or `__inline'.
        we define G_CAN_INLINE, if the compiler seems to be actually *capable*
        to do function inlining, in which case inline function bodys do make
        sense. we also define G_INLINE_FUNC to properly export the function
        prototypes if no inlinig can be performed. we special case most of the
        stuff, so inline functions can have a normal implementation by defining
        G_INLINE_FUNC to extern and G_CAN_INLINE to 1.

        * ltconfig: (compiler PIC flag test): special case linux for non
        aout systems to honour lcc's position independant code (cases
        "linux*aout)" and "linux*)" got added). (this needs to go into
        libtool which does an advanced test, checking for __LCC__).

        * autogen.sh: take $CC=lcc into account by invoking automake with
        --include-deps so lcc isn't scared by gcc's auto-dependancy
        generation code. care about $ACLOCAL_FLAGS. optionally feature
        autoheader.

        * minor fixups in other places to cure some of lcc's warnings.
1998-09-07 09:43:54 +00:00
Manish Singh
affa6a0677 configure.in: added -std1 check for ANSI compliance (from gtk)
-Yosh
1998-09-07 02:13:51 +00:00
Manish Singh
bb8d9aba23 provide proper ATEXIT behavior on NeXTStep by !atexit
-Yosh
1998-09-06 19:33:54 +00:00
Tom Tromey
f57c045bd6 Define. New define. (g_bit_nth_msf): Use it. Also, add prototype.
Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>

	* gutils.c (GLIB_INLINE): Define.
	* glib.h (GLIB_INLINE): New define.
	(g_bit_nth_msf): Use it.  Also, add prototype.
	(g_bit_storage): Likewise.
	(g_bit_storage): Likewise.
1998-09-06 00:31:48 +00:00
Tim Janik
1c3646f597 use g_mem_chunk_alloc0() to allocate the memchunk, so the correct size of
Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
        so the correct size of the memchunk is allocated with 0's and not
        a memory portion of the size of the desired type.

        * gmem.c: new function g_mem_chunk_alloc0() which will initialize
        a memory area allocated with g_mem_chunk_alloc() with 0's.
1998-09-05 06:53:43 +00:00
Owen Taylor
fa58379289 make data argument const.
Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>

	* garray.c glib.h (g_array_[ap/pr]epend_vals): make
	data argument const.
1998-09-02 23:11:04 +00:00
Tim Janik
519435e642 new function g_strnfill() to return a new string of specified length,
Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstrfuncs.c: new function g_strnfill() to return a new string
        of specified length, filled with a specific character.
1998-09-02 14:57:10 +00:00
Manish Singh
7401460a60 Mostly changes to GArray code. See ChangeLog. 1998-09-02 07:44:02 +00:00
Tim Janik
b420fa8418 removed this function which was not publically exported in glib.h. to
Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstring.c:
        * gstrfuncs.c:
        (g_vsprintf): removed this function which was not publically
        exported in glib.h. to export it, it should have been named
        differently in the first place, since its semantics differ from
        vsprintf(). apart from that, it was a possible cause for
        problems since it worked on a previously allocated memory area and
        was used in a lot places of glib. exporting it would have been a
        guararant for problems with threaded programs.
        (g_printf_string_upper_bound): exported this function to return
        a string size, guarranteed to be big enough to hold the fully
        expanded format+args string. added 'q', 'L' and 'll' flag handling.
        in fact, the newly allocated area is in most cases much bigger than
        required.
        (g_strdup_vprintf()): new function returning a newly allocated string
        containing the contents of *format and associated args (size is
        calculated with g_printf_string_upper_bound()).
        (g_strdup_printf): new function which wraps g_strdup_vprintf().

        * configure.in: check for va_copy() or __va_copy() alternatively.
        check whether va_lists can be copyied by value.

        * glib.h: provide a definition for G_VA_COPY.

        * glib.h:
        * gmessages.c:
        (g_logv):
        (g_vsnprintf):
        pass va_lists by value, not by reference, since this causes problems
        on platforms that implement va_list as as arrays. internaly, use
        G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
        va_list variable, if multiple passes are required. changed all
        callers.

        * glib.h:
        * gerror.h:
        renamed g_debug() to g_on_error_query(), cleaned up a bit.
        renamed g_stack_trace() to g_on_error_stack_trace() since both
        functions cluttered different namespaces.
        there is an appropriate comment in glib.h now that explains the
        unix and gdb specific dependencies of both functions.
        removed g_attach_process().
        g_on_error_stack_trace() should probably be handled with caution,
        i've seem several different linux versions (2.0.x) become unstable
        after invokation of this function.
1998-08-24 05:26:53 +00:00
Elliot Lee
c4a99a2eb9 gmem.c: add ability to exclude memory chunks from memory profiling
gmem.c: add ability to exclude memory chunks from memory profiling
	information.
1998-08-19 03:59:20 +00:00
Manish Singh
47074edbbd added g_strndup
-Yosh
1998-08-19 01:24:13 +00:00
Tim Janik
e1f0fb0c1e new function g_log_set_always_fatal() to set an additional fatal_mask for
Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmessages.c: new function g_log_set_always_fatal() to set an
        additional fatal_mask for log levels that are considered to be fatal
        globally (required by gtk). since this mask is not domain-associated,
        it is restricted to the log levels, introduced by glib itself.

        * gmem.c:
        * grel.c:
        * gtree.c (g_tree_node_check):
        don't use g_print() calls for informational/debugging output,
        but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
        libraries shouldn't use printf(), g_print() or g_printerr() at all.
1998-08-18 03:50:35 +00:00
Tim Janik
d7f2383949 if __STRICT_ANSI__ is defined, make `inline' a noop, since strict ANSI
Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>

        * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
        `inline' a noop, since strict ANSI rules don't permit `inline'.
1998-08-18 01:01:54 +00:00
Tim Janik
9cde2ffe5f made private functions static.
Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>

        * grel.c: made private functions static.
1998-08-17 14:47:49 +00:00
Shawn Amundson
a8ca071d6a release delayed 1998-08-17 05:25:32 +00:00
CDT 1998 Shawn T. Amundson
b03e280bd1 Released GLib 1.1.3
Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.3

        * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
          EXTRA_DIST
        * glib.spec: version = 1.1.3
1998-08-17 04:27:37 +00:00
Tim Janik
e93e494518 feature an extra MODULES parameter, so glib-config can be invoked with the
Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>

        * glib.m4: feature an extra MODULES parameter, so glib-config can
        be invoked with the "gmodule" argument.

        * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
        g_return*_if_fail statements, and made them issue a message
        like "assertion `%s' failed".

        * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
        g_log_find_domain.
1998-08-17 00:00:51 +00:00
Tim Janik
d5803865b4 version bump to 1.1.3, binary age 0, interface age 0.
Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>

        * version bump to 1.1.3, binary age 0, interface age 0.

        * glib.h: be nice to platforms that don't have gint64 and don't
        issue #warning on every compilation. since glib doesn't require
        gint64 itself, packages that need gint64 should test for this
        themselves.

        * glib.h:
        * gutils.c: added a new function g_vsnprintf().

Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>

        * glib.h: added static inline functions for bit mask tests:
        g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.

Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmessages.c:
        revised the message handling system, which is now based on a new
        mechanism g_log*. most of the assertment macros got adapted to
        feature the new g_log() call with an additional specification of
        the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
        is undefined upon the includion of glib.h, it'll be defined with a
        value of (NULL) and thus preserves the original bahaviour for
        warning and error messages. the message handler setting functions
        for g_warning, g_error and g_message are only provided for backwards
        compatibility and might get removed somewhen.

        * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
        to "GLib" upon compilation. we currently have to add this definition
        to the DEFS variable.
        * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
        of this file currently, since automake doesn't support per target
        _CFLAGS yet.

        * glib.h: changed some gints to gbooleans, made a few const corrections,
        removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
        in other required places.

        * gnode.c:
        (g_node_prepend):
        (g_node_insert_before):
        (g_node_insert):
        (g_node_append_data):
        (g_node_prepend_data):
        (g_node_insert_data_before):
        (g_node_insert_data):
        (g_node_append):
        return (node), so these macros/functions can be usefully chained with
        g_node_new().

[GModule]
Fri Aug 14 02:24:39 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
        to "GModule" upon compilation. we currently have to add this definition
        to the DEFS variable.
        * testgmodule.c: we need an ugly #undef G_LOG_DOMAIN at the start
        of this file currently, since automake doesn't support per target
        _CFLAGS yet.
1998-08-16 21:14:11 +00:00
Elliot Lee
ab385b6f05 Sun Aug 16 Elliot Lee
glib.h - #error out if we don't recognize the SIZEOF_VOID_P
		 #warning if no gint64
1998-08-16 16:56:52 +00:00
Manish Singh
731d403c87 It's GTime now, and it's back!
-Yosh
1998-08-11 00:57:36 +00:00
Tim Janik
52f1266e0a minor hack to cause SUBDIRS (gmodule) to be build last. we do this by
Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
        last. we do this by making all-recursive-am depend on all-am.

Mon Aug 10 02:18:31 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am (lib_LTLIBRARIES): for now, skip the dependency on
        -lglib for libgmodule-1.1.la, libgplugin_a.la and libgplugin_b.la
        since this clashes with inter-library-dependencies for not installed
        libraries. glib-config takes care of this for the usuall case, but
        there needs to be a better way...
1998-08-10 00:26:44 +00:00
Tim Janik
d94e25520b changelog updates 1998-08-09 14:00:01 +00:00
PDT 1998 Shawn T. Amundson
b76b5ead5e Released GLib 1.1.2
Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.2
1998-08-05 17:05:38 +00:00
George Lebl
041a14df58 fix 64-bitness in g_prints, sizeof doesn't seem to return int so I cast it
Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>

        * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
          seem to return int so I cast it for printing, probably
          just cosmetic
1998-08-05 08:15:58 +00:00
PDT 1998 Shawn T. Amundson
65dda096fe Released GLib 1.1.1
Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>

        * Released GLib 1.1.1
1998-08-05 02:56:37 +00:00
Tim Janik
16b83a9a50 version bump to 1.1.1, binary age 1, interface age 0. updates. updates.
Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
        * NEWS: updates.
        * README: updates.
        * INSTALL: updates and fixes.
        * COPYING: include the GNU LGPL, rather than shipping an empty file.
        * AUTHORS: listed original authors here, and added people who made
        significant improvements to glib.

        * glib.h:
        * gutils.c: implement g_get_current_dir() which returns a newly
        allocated string, instead of a g_getcwd() variant that operates
        on a static buffer.
        export glib_interface_age and glib_binary_age.
        as a convenience, macro definitions have been added for
        g_node_insert_data, g_node_insert_data_before, g_node_append_data and
        g_node_prepend_data.

        * testglib.c: minor cleanups, print current dir.
1998-08-04 14:26:27 +00:00
Tim Janik
8b853a62c5 change order of gpointer data; field in struct _GNode to be partly binary
Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gnode.c: change order of gpointer data; field in struct _GNode to
        be partly binary compatible with GList and GSList.
1998-08-03 14:06:18 +00:00
Sebastian Wilhelmi
de89a5b945 garray.c (g_ptr_array_remove_index): bugfix: index check for array has
been wrong
1998-08-03 07:18:23 +00:00
Tim Janik
5272119ce9 added a GNode test.
Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>

        * testglib.c (g_node_test): added a GNode test.

Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: compile gnode.c.

        * glib.h:
        * gnode.c: added implementation of n-way trees.

        * gtree.c (g_tree_traverse): added a warning to the switch() statement
        which says that G_LEVEL_ORDER is not implemented.
1998-07-31 20:21:10 +00:00
CDT 1998 Shawn T. Amundson
e502a2345c Released GLib 1.1.0
Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.0
1998-07-27 05:33:17 +00:00
Tim Janik
fe00841ff8 #if 0'ed out the GTime definition, until it is definitively needed. #if
Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>

        * glib.h: #if 0'ed out the GTime definition, until it is definitively
        needed. #if 0'ed out the g_getcwd() version, because it is the wrong
        implementation.
1998-07-27 01:23:18 +00:00
Tim Janik
822650b4e5 #if 0'ed out the GTime definition, until it is definitively needed.
Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>

        * glib.h: #if 0'ed out the GTime definition, until it is definitively
        needed.
1998-07-26 23:06:01 +00:00
Mark Crichton
a87caec45b DANGER WILL ROBINSON! Ok, normally I don't do things like this, but this
DANGER WILL ROBINSON!
Ok, normally I don't do things like this, but this one is simple to reverse.
On NetBSD, /usr/include/time.h defines gtime.  This conflicts with gtime in
glib.h.  HENCE, I changed the glib.h gtime to g_time.  If this is wrong, please
put in a more proper fix.

Thanks,
Mark Crichton
<mcrichto@purdue.edu>
1998-07-25 20:16:56 +00:00
Tim Janik
b813e192c6 new functions to make a scanner scope sensitive wrt symbol lookups.
Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gscanner.c: new functions to make a scanner scope sensitive wrt
        symbol lookups.
        g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
        g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
        g_scanner_set_scope.
        g_scanner_add_symbol, g_scanner_remove_symbol and
        g_scanner_foreach_symbol are now aliases for scope 0.
1998-07-22 22:32:22 +00:00
George Lebl
d2063fdc73 typo fixed for alphas for gint64
Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>

        * glib.h: typo fixed for alphas for gint64
1998-07-21 06:06:12 +00:00
Tim Janik
acc1c38efe new fuction g_dirname() which returns a newlly allocated string.
Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gutils.c: new fuction g_dirname() which returns a newlly
        allocated string.
1998-07-14 07:39:07 +00:00
Tim Janik
478632418e typo fixups 1998-07-11 05:17:49 +00:00
Tim Janik
49ae057a97 added a bunch of utility/wrapper functions: g_basename(), g_getcwd(),
Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gutils.h: added a bunch of utility/wrapper functions:
        g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
        g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().

        * gutils.c: removed all g_str* functions.
        * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
        place. this file shall never include <stdlib.h> to avoid clashes for
        some of the g_str* functions on some OSes.
1998-07-10 05:51:17 +00:00
Lauri Alanko
5b52f01535 Renamed g_hash_table_lookup_full to g_hash_table_lookup_extended to
conform with naming conventions.
1998-07-09 21:35:59 +00:00
Lauri Alanko
7519c2338a Generic hash cleanup, added a function (g_hash_table_lookup_full). 1998-07-07 08:27:58 +00:00
Manish Singh
f154104379 fix for properly detecting shared lib support on SunPro cc (taken from
libtool 1.2.a)

-Yosh
1998-07-06 17:12:48 +00:00
Manish Singh
61bccc36a9 Added g_array_length
-Yosh
1998-07-04 20:39:29 +00:00
Tim Janik
b7c94a718d take symbol_2_token into account. react on valid/invalid string pairs.
Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>

        * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
        account. react on valid/invalid string pairs.
1998-06-30 11:04:49 +00:00
Manish Singh
385e3c3342 ftp.glib.org -> ftp.gtk.org, since glib.org isn't ours. ;)
-Yosh
1998-06-28 04:56:59 +00:00
Tim Janik
afdf8b93a3 removed g_dataset_try_key, g_dataset_force_id and g_dataset_retrive_key in
Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>

        * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
        g_dataset_retrive_key in favour of GQuarks.
        a GQuark is an numeric id wich is associated with a certain string.
        (g_quark_try_string): try to get the quark associated with this string,
        if the lookup failed return 0.
        (g_quark_from_string): get the associated quark for a string, if there
        isn't currently a GQuark associated with this string, then allocate a
        new quark and return that.
        (g_quark_from_static_string): like the above function, but the string
        isn't strdup()ed to save memory.
        (g_quark_to_string): get the string that is associated with a certain
        GQuark.

        * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
        _after_ the new data has been setup.
1998-06-19 02:00:23 +00:00
Owen Taylor
12edfe9084 Changed messages for g_return_[val]_if_fail to be somewhat more clear:
Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>

	* glib.h: Changed messages for g_return_[val]_if_fail to
	be somewhat more clear: assertion "blah" failed.
1998-06-19 01:24:25 +00:00
Federico Mena Quintero
05b2f03c6a Use GINT_TO_POINTER casts to remove compiler warnings.
1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
	warnings.

	* grel.c: #include <string.h>
1998-06-18 20:37:11 +00:00
Tim Janik
860af205b6 cleanups of the structure fields (binary incompatible).
Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>

        * glib.h (GScanner): cleanups of the structure fields (binary
        incompatible).
1998-06-12 14:39:38 +00:00
Josh MacDonald
df9a49ec3c [Changes from josh to sync with his glib stuff -Yosh]
Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>

        * glib.h: add new hash and equal functions g_int_*.  complement
        g_direct_hash with g_direct_equal.

        * grel.c: new file, GRelations implement tuples of N-N mappings.
        A comment in glib.h briefly describes the interface.

        * ghash.c: new function, g_hash_table_size

        * glib.h: new typedefs, gsize, gssize, gtime.

        * garray.c: new functions implementing a simplified GArray.  This
        GPtrArray is an array of gpointers and has functions to add and
        remove elements, much like java.lang.Vector.

        * garray.c: new functions for the single-byte special case of
        GArray.  The functions g_byte_array* operate on arrays of bytes.
        Internally, a GArray is used.

        * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
1998-06-12 09:38:32 +00:00
Federico Mena Quintero
19532180ec #include <string.h>
1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdataset.c: #include <string.h>
1998-06-12 01:04:15 +00:00
Tim Janik
b49ead6fe5 new function g_dataset_retrive_key. adjusted prealloc sizes, to take up
Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
        sizes, to take up less space on initial allocation.
1998-06-11 03:38:33 +00:00
Raja R Harinath
580b16fb22 New file. Contains `libtool.m4' from libtool-1.2, the version from which
* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
the version from which glib's libtool forked.  Needed for people
who use post-1.2 alphas of libtool.
* configure.in (enable_mem_check, enable_mem_profile): Replace
`echo -n' with AC_MSG_CHECKING.
(fd_set): Explain test for `fd_set' better.
1998-06-11 00:10:13 +00:00
Owen Taylor
375b23836d Added glib.h which was mistakenly in .cvsignore 1998-06-10 23:28:29 +00:00
Owen Taylor
2e0320d57e Initial revision 1998-06-10 23:21:14 +00:00