Commit Graph

4094 Commits

Author SHA1 Message Date
Tim Janik
72b139a74d adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros so their
Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>

        * glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
        so their arguments get only evaluated once. changed g_strconcat3_a to
        have the same semantics as g_strconcat, i.e. if a certain argument is
        NULL, the rest of the parameter list is skipped.

        * tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
        able to compile on all systems. added test for g_strconcat() semantics.

        * we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
1999-01-04 13:49:05 +00:00
Jeff Garzik
0b74f03e70 Added 'make check' tests, based on testglib code. 1999-01-03 03:42:59 +00:00
Jeff Garzik
81224ac5ac Added g_alloca, g_new_a, g_new0_a macros. 1999-01-03 00:53:58 +00:00
Jeff Garzik
bbbfe78d70 Handle NULL strings like g_strdup. s/g_strconcat_a/g_strconcat3_a/ to
* glib.h:
        (g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
        s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args

        * testglib.c:
        Added g_strdup, g_strconcat checks.
        Added str==NULL checks for alloca string macros.
        s/g_strconcat_a/g_strconcat3_a/
1999-01-02 03:05:36 +00:00
Manish Singh
3de4d2b781 made the alloca tests follow the testglib style
* testglib.c: made the alloca tests follow the testglib style

* Makefile.am: minor cleanups, mostly cosmetic

-Yosh
1999-01-02 02:40:39 +00:00
Jeff Garzik
58aaa9d32b added g_strndup_a macro
* glib.h: added g_strndup_a macro

        * testglib.c:
        Added tests for new alloca-based string routines.
        Reformatted a couple strings.
1999-01-02 01:51:08 +00:00
Tim Janik
00e064d2af avoid unneccessary extra hook referencing (the explicit hook referencing
Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>

        * ghook.c:
        (g_hook_list_invoke):
        (g_hook_list_invoke_check):
        (g_hook_list_marshal_check):
        (g_hook_list_marshal): avoid unneccessary extra hook referencing (the
        explicit hook referencing became unneccessarry with my changes from
        Mon Dec 21 21:48:29 1998).

        * gmain.c (g_main_iterate): fixed reference counting leaks with
        premature loop aborts.

Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>

        * gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
        as G_TOKEN_IDENTIFIER.
1999-01-02 01:32:37 +00:00
Jeff Garzik
0e2f565f14 Added two new alloca-based function macros, g_strdup_a and g_strconcat_a.
* configure.in, glib.h:
        Added two new alloca-based function macros, g_strdup_a and
        g_strconcat_a.  These are stack-based and much faster than
        their g_malloc-based counterparts.  Kudos to Ulrich Drepper
        for help on this one.
1999-01-01 23:35:26 +00:00
Raja R Harinath
3558437281 Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
* glib.h (G[U]INT64_FROM_{LE,BE}):
Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.

Wonder why it wasn't caught before.
1998-12-30 22:53:37 +00:00
George Lebl
4277349743 don't cast to timeval since timeval is for some reason not always a struct
Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>

        * gmain.c: (g_get_current_time) don't cast to timeval since
          timeval is for some reason not always a struct of longs, weird
1998-12-23 12:18:36 +00:00
Tim Janik
fc323595ff fixed buglet that could cause bogus warnings.
Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>

        * ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
        warnings.
1998-12-22 10:09:28 +00:00
Tim Janik
097c9b1798 there was a reference count race for hooks during invocation loops. since
Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmain.c: there was a reference count race for hooks during invocation
        loops. since all (known) hook loop implementations, do currently start
        out with g_hook_first_valid() and iterate with g_hook_next_valid(),
        g_hook_first_valid() will now return a referenced hook, and
        g_hook_next_valid() will "eat" that, and eventually transfer it to
        the next hook. <sigh> unfortunately this requires g_hook_next_valid()
        to take the hook_list as additional argument.

        * gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
1998-12-21 21:43:00 +00:00
Tim Janik
85755f7e77 default initialize source_timeout with -1 so we have a sane timeout value
Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>

        * gmain.c (g_main_iterate): default initialize source_timeout with -1
        so we have a sane timeout value if (*prpare) doesn't set it.
1998-12-21 03:28:25 +00:00
Owen Taylor
7f237f6fcd Add #defines defining scale of priorities.
Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>

	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
	scale of priorities.
1998-12-19 22:21:39 +00:00
Owen Taylor
bb19315fbd Allocate space for pollfd's _after_ adding poll wake-up-pipe record.
Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_main_poll): Allocate space for pollfd's
	_after_ adding poll wake-up-pipe record.

	* gmain.c (g_main_add_poll): Changed name
	of internal function g_main_add_poll_unlocked()
	back from the non-sensical g_main_add_unlocking_poll().
1998-12-19 22:11:49 +00:00
Tim Janik
e0153773a6 fixed up sys/poll.h and sys/types.h inclusions.
Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>

        * fixed up sys/poll.h and sys/types.h inclusions.
1998-12-19 03:44:30 +00:00
Tim Janik
c0c488e4ba fixed up gthread includes, cleaned up glibconfig.h a little bit.
Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>

        * fixed up gthread includes, cleaned up glibconfig.h a little bit.
1998-12-19 02:13:34 +00:00
Owen Taylor
2623d2831a Dec 18 12:51:39 1998 Owen Taylor <otaylor@redhat.com>
* gmain.c: Fix errors in computation of timeout
	expiration times > 1sec.
1998-12-18 17:52:18 +00:00
Tim Janik
8be41eae4d new function to check whether a main loop has been quitted. (g_main_new):
Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmain.c:
        (g_main_is_running): new function to check whether a main loop has been
        quitted.
        (g_main_new): added a gboolean argument to determine whether the loop
        should be considered initially running or not. however, g_main_run ()
        will still reset the main loops running state to TRUE upon initial
        entrance.

        * gmain.c:
        (g_main_iterate): documented this function's purpose in 5 steps.
        for step 2), flag sources as G_SOURCE_READY even if !dispatch and
        check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
        on them multiple times.

Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>

        * gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
        first, <sigh> (sorry Snorfle, i should have let you know in the first
        place).
        (g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
        destructor when destroying a source.
1998-12-18 02:23:33 +00:00
Sebastian Wilhelmi
c3c1b2edc0 Fixed size in g_memmove, reported by Alexander Larsson
1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
	reported by Alexander Larsson <alla@lysator.liu.se>.

	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
1998-12-17 08:02:38 +00:00
CST 1998 Shawn T. Amundson
77ccad4d2f giounix.c: s/g_main_poll_add/g_main_remove_add/g
Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * glib.h:
          giounix.c: s/g_main_poll_add/g_main_remove_add/g
                     s/g_main_poll_remove/g_main_remove_poll/g
                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
          (from Tim Janik)

        * gthread-posix.c: use g_free in mutex_free (from Tim Janik)
1998-12-17 04:36:04 +00:00
Tim Janik
a62ebb0e75 if !G_THREADS_ENABLED, eat the trailing semicolon with a bogus function
Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>

        * glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
        trailing semicolon with a bogus function declaration, instead
        of with a bogus variable declarations, so we avoid unused
        variable warnings.
1998-12-17 04:06:27 +00:00
Sebastian Wilhelmi
3e01bbaafb Fixed small bug.
1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
1998-12-16 14:57:42 +00:00
Joel Becker
053793d72a changed func_data to user_data for g_scanner_scope_symbol_foreach() 1998-12-16 14:41:18 +00:00
Sebastian Wilhelmi
2e57a36438 Updated to reflect the existence of gthread.
1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* docs/glib-config.1: Updated to reflect the existence of gthread.

	* gmain.c (g_main_poll_add_unlocking): Changed
	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
	semantic, (indeed, main_loop must be locked, when calling this
	function). Removed the unlocking from the end of that function, as
	that is not right. Made a 'HOLDS' comment above the function.
1998-12-16 09:34:30 +00:00
Tim Janik
b2e318ff3e version bump to 1.1.8, binary age 0, interface age 0.
Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>

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

        * glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
        g_trylock() to G_TRYLOCK(), since these are macros that expand to
        nothing with --disable-threads.
        changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
        G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
        changed semantics of g_thread_supported to g_thread_supported() so it
        can be used as a function like g_module_supported(). the actuall
        definition is still a macro that expands into a variable for
        performance reasons though.
        various indentation and coding style cleanups.

        * configure.in: added --enable-threads that defaults to yes.

        * gmutex.c: changed tests g_thread_supported to g_thread_supported (),
        changed variable settings of g_thread_supported
        to g_threads_got_initialized.

        garray.c:
        gcache.c:
        gdataset.c:
        gdate.c:
        ghash.c:
        glist.c:
        gmain.c:
        gnode.c:
        gslist.c:
        gstring.c:
        gtree.c:
        gutils.c:
        changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
        s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
1998-12-16 05:38:35 +00:00
Owen Taylor
05d49ddbd3 Use an "inheritance" scheme for IO channel memory allocation.h
Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>

	* glib.h giounix.c giochannel.c: Use an "inheritance"
	scheme for IO channel memory allocation.h
1998-12-15 22:30:15 +00:00
Havoc Pennington
e02079098f Solaris has a broken strftime that produced garbage output for the test
1998-12-15  Havoc Pennington  <hp@pobox.com>

* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
that produced garbage output for the test date I was using to
set up the parser. So use a different date that Solaris seems
to like.
1998-12-15 18:50:53 +00:00
Sebastian Wilhelmi
d98c425676 Dont complain, if --without-threads or --with-threads=none is supplied;
1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Dont complain, if --without-threads or
	--with-threads=none is supplied; Test for pthread_attr_init
	instead of pthread_cond_init, if threads seems to be supported by
	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
	as well.

	* glib.h, gmutex.c: Changed private to private_key to avoid
	problems when compiling with under C++.
1998-12-15 17:50:47 +00:00
Owen Taylor
dcd0c664b7 Make sure all calls to g_node_validate_allocator are within
Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>

	* gnode.c glist.c gslist.c: Make sure all
	calls to g_node_validate_allocator are within
	current_allocator lock, so we have consistency
	on that point. (Should not really matter,
	but this way we match the comments)

	* glist.c (g_list_free_1): Removed some lines
	that should never have been committed. (For
	debugging)
1998-12-15 15:40:01 +00:00
Owen Taylor
931ea95265 This commit merges the glib-threads branch into the main
branch. See the ChangeLog for details of the changes.

In brief overview:

 - The set of threading functions can be set
 - A default implementation is provided in -lgthread
 - All static data structures are locked using these
   functions if g_thread_init() is called.
1998-12-15 05:28:02 +00:00
Manish Singh
738864a1a7 fixes to #undef HAVE_POLL case
-Yosh
1998-12-08 07:11:54 +00:00
Havoc Pennington
b94d7a72f0 If Julian is valid, we have to update the dmy representation before
1998-12-02  Havoc Pennington  <hp@pobox.com>

* gdate.c (g_date_set_month): If Julian is valid, we have to
update the dmy representation before setting the components
of it.
(g_date_set_day): Same.
(g_date_set_year): Same.
1998-12-02 23:47:02 +00:00
Havoc Pennington
6a5abee024 Forgot this, last ChangeLog covers it (added testgdate, testgdateparser) 1998-12-02 23:45:17 +00:00
Havoc Pennington
dca6fcb59c Rely on GDate::dmy and GDate::Julian flags, rather than re-checking the
1998-12-02  Havoc Pennington  <hp@pobox.com>

* gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
flags, rather than re-checking the validity of the actual
values. This should be the correct behavior, the old way was
leftover cruft.

* glib.h, gdate.c: Changed MDY to DMY throughout.
1998-12-02 18:47:10 +00:00
Owen Taylor
beab982e3b Merge main loop into head. This probably breaks Win32, until
someone does the necessary updates.

Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am configure.in acconfig.h giochannel.c
	  glib.h glist.c gmain.c gutils.c:

        - Revised GIOChannel to provide a generic virtual-function
  	  based interface.
	- Added unix fd-based GIOChannel's
	- Added generic main-loop abstraction
	- Added timeouts and idle functions using main-loop abstraction.
1998-12-02 14:55:27 +00:00
Sebastian Wilhelmi
c8477277fe changed `gpointer struct_tm_p' parameter of g_date_to_struct_tm back to
1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h:
	* gdate.c: changed `gpointer struct_tm_p' parameter of
	g_date_to_struct_tm back to `struct tm *tm' and forward declared
	`struct tm' in glib.h; yes, this is nice, we still need not
	include time.h.
1998-12-02 09:07:18 +00:00
Tim Janik
2886be294a s/time_t/GTime/ and s/g_print/g_message/ include time.h.
Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>

        * gdate.c: s/time_t/GTime/ and s/g_print/g_message/
        include time.h.

        * glib.h: removed #include <time.h>, changed time_t paramter of
        g_date_set_time() to time_t, changed struct tm parameter of
        g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
        nice, but including time.h actually breaks a bunch of code.
1998-12-02 02:24:14 +00:00
Havoc Pennington
a3e59c3ebf There are outstanding issues, but they should be resolvable in-place. If
this breaks something let me know and I will fix it.

1998-11-30  Havoc Pennington  <hp@pobox.com>

* gdate.c: New file, implements calendrical calculations.

* glib.h: Added declarations for GDate module.
1998-12-01 20:24:32 +00:00
Tim Janik
958f33656a added g_hook_list_marshal_check() to eventually destroy hooks after they
Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c: added g_hook_list_marshal_check() to eventually destroy
        hooks after they got marshalled.
1998-11-30 07:08:54 +00:00
Jeff Garzik
e54410edc2 Put -DFOO stuff into Makefile.am INCLUDES. 1998-11-29 22:47:07 +00:00
Tim Janik
e666e8125f implemented incremental freezing facility.
Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>

        * ghash.c: implemented incremental freezing facility.
1998-11-28 01:54:54 +00:00
Tim Janik
3a14f25fdf reverted the g_hash_table_set_key_freefunc() addition, since it's to
Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
        since it's to specialized and needs to be resolved in a generic
        fashion.
1998-11-26 00:42:14 +00:00
PST 1998 Manish Singh
61bdacfb59 applied glib-tml-981120-0, change log appended below.
Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>

        * applied glib-tml-981120-0, change log appended below.

        * glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
        infers them

Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>

        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
        added. Added "extern" to __declspec(dllimport).

        * gutils.c: Initialise need_wakeups.

        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.

        * gmodule/gmodule.def: Added g_module_build_path.

        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
        to before its use.

        * glib.def: Added g_(s)list_sort.

        * makefile.msc: A few more comments.

-Yosh
1998-11-25 03:02:56 +00:00
EST 1998 Michael K. Johnson
3568d22b53 added GFreeFunc and g_hash_table_set_key_freefunc() prototype. added
Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>

	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
	prototype.
	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
	Modified the prototypes of the functions g_hash_node_destroy() and
	g_hash_nodes_destroy(), and changed the functions that call them
	to match the new definitions.
	This changes no external interfaces, and should create no binary
	or source incompatibilities.  It does add a member to the
	GHashTable structure.
1998-11-24 19:38:17 +00:00
Tim Janik
9c1692c260 removed the GListAllocator type and its g_*_allocator_*() function
Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed the GListAllocator type and its g_*_allocator_*()
        function variants (which weren't working anyways) in favour of a
        generic GAllocator type. new functions:
        g_allocator_new, g_allocator_free, g_slist_push_allocator,
        g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
        g_node_push_allocator and g_node_pop_allocator.

        * gstring.c: removed bogus slist allocator code.
        * gtree.c: maintain own list of free tree nodes and don't waste
        GSLists for that, removed bogus slist allocator code.
        * glist.c: use GAllocators for node allocation.
        * gslist.c: use GAllocators for node allocation.
        * gnode.c: use GAllocators for node allocation.

        * gdataset.c: cleanups wrt automatic initialization.
1998-11-24 12:18:22 +00:00
Owen Taylor
eabb208b30 added g_array_insert_vals() to insert elements at an arbitrary index, and
Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>

	* glib.h garray.[ch]: added g_array_insert_vals() to
	insert elements at an arbitrary index, and
	g_array_insert_val() macro.
1998-11-23 15:02:44 +00:00
Tim Janik
70a6dbff87 new function g_slist_copy() to duplicate a list with all its data
Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gslist.c: new function g_slist_copy() to duplicate a list with all its
        data pointers.
        * glist.c: new function g_list_copy.
1998-11-23 01:52:07 +00:00
Tim Janik
6515316f82 added empty default imlementation so gmodule.so compiles on systems that
Fri Nov 20 14:43:44 1998  Tim Janik  <timj@gtk.org>

        * gmodule.c (_g_module_build_path): added empty default imlementation
        so gmodule.so compiles on systems that are not yet supported, fix from
        Erik Bagfors <bagfors@hpc2n.umu.se>.
1998-11-20 13:49:35 +00:00
Elliot Lee
f809ca7c11 Fix for g_datalist_id_set_full() use (error is deeper down, some internal
Fix for g_datalist_id_set_full() use (error is deeper down, some internal
funcs weren't checking that things were initialized.)
1998-11-19 04:52:26 +00:00