Commit Graph

91 Commits

Author SHA1 Message Date
Raja R Harinath
5900267cc7 Land glib-rrh-19981025-0.patch.
* Makefile.am (glibconfig.h): New rule.
(stamp-gc-h): New rule.  Generate `glibconfig.h'.
* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
concluding "broken wctype".
(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
config.status.
* glib.h: Remove a lot of tests and defines.  All these have been
moved to `configure.in (glibconfig.h)'.
* gerror.c: Include <config.h>.
* gmem.c: Likewise.
* gstrfuncs.c: Likewise.
* gutils.c: Likewise.

This could cause some short term instability.
1998-11-01 01:32:59 +00:00
Tim Janik
e8a920f88d removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros. added macros
Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
        added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
        G_STRUCT_MEMBER() for handling structure fields through their offsets.
        (struct _GHookList): added a hook_free function member, that can be used
        to free additional fields in derived hook structures.
        g_hook_free(): if hook_list->hook_free != NULL, call this function prior
        to freeing the hook. (this functionality should have been there in the
        first place, it just got forgotten as an implementation detail).
1998-10-31 18:57:36 +00:00
Manish Singh
a32e40e2c4 G_BREAKPOINT for alpha from Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
-Yosh
1998-10-28 08:51:18 +00:00
Tim Janik
7428120d37 new function for file input. rewind the filedescriptor to the current
Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gscanner.c:
        (g_scanner_sync_file_offset): new function for file input.
        rewind the filedescriptor to the current buffer position and blow
        the file read ahead buffer. usefull for third party uses of our
        filedescriptor, which hooks onto the current scanning position.
        (this became neccessary with the implementation of buffered
        reads).
        (g_scanner_input_file):
        (g_scanner_input_text): automatically blow the read ahead buffer.
        (g_scanner_get_char): blow the read ahead buffer when the end of
        input is reached, i.e. a '\000' char is read.
1998-10-28 01:32:54 +00:00
Manish Singh
167b4fbbfc get rid of duplicate #g_htonl and friends in the NATIVE_WIN32 part
-Yosh
1998-10-27 08:33:27 +00:00
Manish Singh
7470df9f23 win32 patch from Tor Lillqvist (glib-tml-981027-0), fixes some minor
win32 buglets

-Yosh
1998-10-27 06:58:33 +00:00
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