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/.
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 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 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++.
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)
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.
Sat Dec 12 19:08:59 1998 Tim Janik <timj@gtk.org>
* configure.in: always define G_HAVE_INLINE if __cplusplus is
defined, reported by Wan-Teh Chang <wtc@netscape.com>.
Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* Released GLib 1.1.7
* INSTALL:
NEWS:
README:
configure.in:
glib.spec:
docs/glib-config.1: Increased version to 1.1.7
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 Havoc Pennington <hp@pobox.com>
* testgdate.c, testgdateparser.c: Two new files. This is kind of
ugly code, but I want to go ahead and make the tests available.
It isn't contaminating any other code. :-) Since one of these
is interactive and the other takes a while to run, I've kept
them separate from testglib for now.
* Makefile.am: Build gdate test programs.
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 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.
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.
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.
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.
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.
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
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.
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.
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.
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.
Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* INSTALL:
NEWS:
README:
configure.in:
glib.spec: Updated to version 1.1.5
* Released GLib 1.1.5
Mon Nov 16 07:48:06 1998 Tim Janik <timj@gtk.org>
* glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
a loop iteration if (-1) was passed, reported by Andreas Bombe
<andreas.bombe@munich.netsurf.de>.
Fri Nov 13 15:17:34 1998 Owen Taylor <otaylor@redhat.com>
* glist.c gslist.c glib.h: Added g_list_sort() and
g_slist_sort() to merge sort GLists and GSLists.
Submitted by Sven Over <sven.over@ob.kamp.net>
over a year ago!
* testglib.c: Test the new sort functions.
INCLUDES is the right way to add to CFLAGS, not DEFS.
Also there are bugs with '+=' in makefiles.
Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
Removed redundant -I from INCLUDES.
This fixes an annoying bug where autoconf's DEFS, which includes
the important -DHAVE_CONFIG_H, was lost. (due to += weirdness)
Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
* docs/*.sgml : Batch of new documentation that should be easier
to maintain and extend. Plus generate whatever sort of doc file
you would like. I didn't change the Makefile stuff as I'm not sure
what default doc type people want. Oh and this is all DocBook format.
Enjoy!
* configure.in: use __extension__ for long long on gcc >= 2.8 and
egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
compiles clean.
* glib.h: make the endian x86 asm __const__ so the compiler can do
better optimizations. Also remove the cc clobber, these shouldn't
be changing condition codes. Ditch some redundant casts. Add an
optimization for 64-bit endian conversions in x86. Use constant
wrapper for the generic method.
* testglib.c: use constant wrappers for 64-bit constants
-Yosh
1998-11-04 Phil Schwan <pschwan@cmu.edu>
* configure.in: Added 'strncasecmp' to the list of functions to be
searched for.
* glib.h: Added a prototype for 'g_strncasecmp'
* strfuncs.c: (g_strncasecmp) new function modeled closely after
'g_strcasecmp'
1998-11-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib.h:
* garray.h:
(g_array_remove_index): new function for removing an entry from an
array while preserving the order
(g_array_remove_index_fast): new function for removing an entry
from an array. the order might be distorted
(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
functions; working similiar to the above. (they have the semantic
of the old g_ptr_array_remove[_index] functions)
(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
the order of the elements in the array is not changed
(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
functions; byte_array wrapper for g_array_remove_index[_fast]
* glib.h
* configure.in: endian macros defined using the glibconfig.h mechanism now
* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
-Yosh
* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
entry appended below)
* testglib.c
* gstrfuncs.c
* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
* gmessages.c
* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
-Yosh
* 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.
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).
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.