Commit Graph

2127 Commits

Author SHA1 Message Date
Matthias Clasen
fe749cbd3b Documentation improvements 2005-11-23 04:29:43 +00:00
Matthias Clasen
9ee3896017 Avoid double locking in g_intern_string (#322133, Benedikt Meurer)
2005-11-22  Matthias Clasen  <mclasen@redhat.com>

	Avoid double locking in g_intern_string (#322133,
	Benedikt Meurer)

	* glib/gdataset.c (g_quark_from_string_internal): New
	internal function which factors out common parts of
	g_quark_from[_static]_string.
	(g_quark_from_string, g_quark_from_static_string):
	Use g_quark_from_string_internal.
	(g_intern_string, g_intern_static_string): Use
	g_quark_from_string_internal, and only take the
	lock once.
	(g_quark_new): Don't store the strings shifted by -1
	in the g_quarks array.
	(g_quark_to_string): Adapt to the previous change.
2005-11-22 15:34:09 +00:00
Tim Janik
3e847a090c g_hash_table_new_full(): create hash tables with a ref count of 1.
Tue Nov 22 14:04:26 2005  Tim Janik  <timj@imendio.com>

        * glib/ghash.h:
        * glib/ghash.c:
        g_hash_table_new_full(): create hash tables with a ref count of 1.
        g_hash_table_ref(): atomically ref_count+=1
        g_hash_table_unref(): atomically ref_count-=1, destroys hash table
        when refcount reaches 0.
        g_hash_table_destroy(): just destroy keys and values, unref by 1.
        g_hash_table_insert():
        g_hash_table_replace(): assert ref_count>0.

        * glib/gatomic.h:
        * glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
        integer pointers.
2005-11-22 13:16:58 +00:00
Behdad Esfahbod
79209e5d56 Oops, copy-pasted Matthias's sig line!
2005-11-20  Behdad Esfahbod  <behdad@gnome.org>

        * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
        variables. (#321984, Andrew Paprocki)
2005-11-21 00:50:04 +00:00
Matthias Clasen
dad87b1a75 Remove unused variables. (#321984, Andrew Paprocki)
2005-11-18  Matthias Clasen  <mclasen@redhat.com>

        * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
        variables. (#321984, Andrew Paprocki)
2005-11-21 00:47:54 +00:00
Matthias Clasen
ee90a04fcb Bump version 2005-11-18 14:01:59 +00:00
Matthias Clasen
d7deadb1e2 2.9.0 2005-11-18 13:58:48 +00:00
Matthias Clasen
f59aac306d Prepare for 2.9.0 2005-11-17 21:33:07 +00:00
Matthias Clasen
2966c751b1 Updates
2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates

	* glib/gthread.c (g_thread_foreach): Mark as new api.

	* README.in: Updates.
2005-11-17 19:05:59 +00:00
Matthias Clasen
9f90f2f23e Add functions to set a date from a time_t and from a GTimeVal.
2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gdate.h:
	* glib/gdate.c (g_date_set_time_t):
	(g_date_set_time_val): Add functions to set a date from
	a time_t and from a GTimeVal.
	(g_date_set_time): Deprecate.  (#314067, Roger Leigh)
2005-11-17 17:51:59 +00:00
Matthias Clasen
1ee0917984 Unit tests for g_utf8_pointer_to_offset and g_utf8_offset_to_pointer.
2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* tests/Makefile.am:
	* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
	and g_utf8_offset_to_pointer.

	* glib/gutf8.c (g_utf8_pointer_to_offset)
	(g_utf8_offset_to_pointer): Handle negative offsets, and use
	"stutter stepping" for going backwards. (#320638, Larry
	Ewing)
2005-11-17 15:50:31 +00:00
Matthias Clasen
92ea153ae9 const correctness fixes, found by Arjan van de Ven and gcc.
2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* glib/gbacktrace.c:
	* glib/gdate.c:
	* glib/gthread.c: const correctness fixes, found
	by Arjan van de Ven and gcc.
2005-11-17 13:17:22 +00:00
Behdad Esfahbod
cac3d6ea8d Correct typo on mentioning @G_UNICODE_BREAK_UNKNOWN that should be
2005-11-16  Behdad Esfahbod  <behdad@gnome.org>

        * docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning
        @G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN.
2005-11-17 03:39:47 +00:00
Behdad Esfahbod
8bd94d0eb8 Use bit hacks instead when checking a general category value against
2005-11-09  Behdad Esfahbod  <behdad@gnome.org>

        * glib/guniprop.c: Use bit hacks instead when checking a general
        category value against multiple values.

        * glib/gutf8.c: Change ISO10646 to Unicode in docs.
2005-11-10 01:15:11 +00:00
Simos Xenitellis
5fd0cf735c Added Tatar translation by Albert Fazlí 2005-11-10 00:29:41 +00:00
Tor Lillqvist
4884c293d1 Don't call g_warning(). (#320688) Instead set error and return failure.
2005-11-05  Tor Lillqvist  <tml@novell.com>

	* glib/giowin32.c (g_io_win32_set_flags): Don't call g_warning().
	(#320688) Instead set error and return failure.
2005-11-08 08:46:57 +00:00
Matthias Clasen
6d763bd97c Don't call cb_funcs->unref while holding the context lock. (#320886, Andy
2005-11-07  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
	while holding the context lock.  (#320886, Andy Wingo)
2005-11-07 20:15:48 +00:00
Billy Biggs
e8e3891c0f Add a missing reference to libglib in the LDADD for this test.
2005-11-07  Billy Biggs <vektor@dumbterm.net>

	* tests/refcount/Makefile.am: Add a missing reference to libglib
	in the LDADD for this test.
2005-11-07 16:29:19 +00:00
Matthias Clasen
7efd9fe3c8 We need to set n_preallocs to a nonzero value, otherwise GTK+ 2.8 breaks
2005-11-07  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
	nonzero value, otherwise GTK+ 2.8 breaks when compiled against
	GLib 2.9.  (#320755, Luca Ferretti)
2005-11-07 15:36:21 +00:00
Matthias Clasen
e9852a17be Apply a patch from Behdad Esfahbod to use a faster lookup table for
2005-11-04  Matthias Clasen  <mclasen@redhat.com>

	* glib/Makefile.am: Apply a patch from Behdad Esfahbod to
	use a faster lookup table for g_unichar_get_mirror_char().
	* glib/gmirroringtable.h: The new table.
	* glib/gunichartables.h: Remove bidi_mirroring_table.
	* glib/gen-unicode-tables.pl: Don't generate the mirroring
	table.
	* glib/glib-mirroring-tab/*: Sources for the program
	which generated gmirroringtable.h.

	* glib/glist.c: Avoid some code duplication.
2005-11-04 22:27:04 +00:00
Matthias Clasen
747c3b63bb Include gdataset.h. (#320322)
2005-11-04  Matthias Clasen  <mclasen@redhat.com>

        * glib/gscanner.h: Include gdataset.h.  (#320322)
2005-11-04 19:17:42 +00:00
Matthias Clasen
8b14175a3e add new GDebugFlag for fatal_criticals handle G_DEBUG=fatal_criticals, to
2005-11-04  Matthias Clasen  <mclasen@redhat.com>

        * glib/gdebug.h: add new GDebugFlag for fatal_criticals
        * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
        to help find critical warnings in applications.  (#320017,
        Vincent Untz)
2005-11-04 19:05:30 +00:00
Tor Lillqvist
eff8f7511e Remove large amount of trailing whitespace from one line. Remove #ifdef
2005-11-02  Tor Lillqvist  <tml@novell.com>

	* glib/glib.symbols: Remove large amount of trailing whitespace
	from one line. Remove #ifdef G_UNDEFINED from around
	g_hash_table_new and g_hash_table_new_full symbols, what was the
	purpose of that? Add the g_slice functions.
2005-11-01 23:04:09 +00:00
Tim Janik
0cba1b531d prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API to
Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>

        * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
        added g_slice_*() API to allocate and cache small bits of memory.
        an actuall allocator implementation for g_slice_*() is still pending.

        * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
        changed GRealThread list to use in-structure *next; fields instead
        of GSList, in order for thread iteration to not depenend on g_slice_*()
        indirectly.
        _g_thread_mem_private_get():
        _g_thread_mem_private_set(): added accessors for private memory,
        needed because the ordinary GPrivate implementation relies on GArray
        and GSList and therefore indirectly on working g_slice_*() allocations.

        * glib/gthread.[hc]:
        g_thread_foreach(): new public API function to loop over all existing threads.

        * glib/gdataset.c:
        * glib/gstring.c:
        * glib/gcache.c:
        * glib/garray.c:
        * glib/gqueue.c:
        * glib/gslist.c:
        * glib/glist.c:
        * glib/ghash.c:
        * glib/gtree.c:
        * glib/ghook.c:
        * glib/gmain.c:
        * glib/gnode.c:
        removed GAllocator and free list usages and accompanying locks.
        use g_slice_*() API to allocate and cache small bits of memory.

        * glib/ghook.h: removed GMemChunk field from public API.

        * glib/gslist.h:
        * glib/glist.h: deprecate allocator API, provide _free1() for consistency.

        * glib/gnode.h: deprecate allocator API.

        * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
        be used for poll rec lists.

        * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
        g_relation_destroy(): free all tuples from the all_tuples hash table,
        this effectively maintains the life time track keeping of tuples.
        g_relation_delete_tuple(): free tuples which are removed from the
        all_tuples hash table. this fixes a temporary leak that was present
        in the memchunk code until the destruction of the relation.
2005-11-01 18:10:31 +00:00
Matthias Clasen
3a042a8959 Add some tests for conversions between UTF-8, UCS-4 and UTF-16.
2005-10-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/convert-test.c: Add some tests for conversions between
	UTF-8, UCS-4 and UTF-16.

	* glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
	of len == -1, noticed by Morten Welinder.
2005-10-30 03:05:21 +00:00
Erdal Ronahi
ff1b39b754 Added Kurdish translation 2005-10-27 18:36:09 +00:00
Matthias Clasen
79fa3efec2 Fix 319806 2005-10-26 13:10:55 +00:00
Manish Singh
03e630f025 Use AC_CHECK_FUNCS for _NSGetEnviron, to get the config.h symbol
2005-10-19  Manish Singh  <yosh@gimp.org>

        * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
        config.h symbol automatically. Fixes bug #313731.
2005-10-19 18:37:48 +00:00
Tor Lillqvist
bf58342275 Return a g_strdup()ed copy of the value stored in the hash table, so that
2005-10-19  Tor Lillqvist  <tml@novell.com>

	* glib/gwin32.c (g_win32_get_package_installation_directory):
	Return a g_strdup()ed copy of the value stored in the hash table,
	so that it can be g_free()d without leaving a dangling pointer in
	the hash table. (#319232)
2005-10-19 15:38:44 +00:00
Matthias Clasen
df2746311f Fix sorting of 0 sequences in filenames 2005-10-07 03:04:03 +00:00
Matthias Clasen
9414478982 Doc addition
2005-10-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c (g_markup_escape_text): Doc addition
2005-10-05 20:11:25 +00:00
Matthias Clasen
d433419b14 Add Collation tests.
2005-10-05  Matthias Clasen  <mclasen@redhat.com>

	* Makefile.am: Add Collation tests.

	* tests/collate/*: Inputs and expected outputs for collation tests.

	* tests/run-collate-tests.sh: Script to run collation tests.

	* tests/unicode-collate.c (main): Rework slightly to make
	it usable in unit tests. Also test g_utf8_collate_key_for_filename().
2005-10-05 17:37:46 +00:00
Behdad Esfahbod
c83e2b3349 Updated to Unicode 4.1. There are five new GUnicodeBreakType types. That
2005-10-01  Behdad Esfahbod  <behdad@gnome.org>

        * docs/reference/glib/tmpl/unicode.sgml:
        * glib/gen-unicode-tables.pl:
        * glib/gunibreak.h:
        * glib/gunichartables.h:
        * glib/gunicode.h:
        * tests/casefold.txt:
        * tests/casemap.txt: Updated to Unicode 4.1.  There are five new
        GUnicodeBreakType types.  That may break some applications, like
        Pango <= 1.10.
2005-10-01 12:34:21 +00:00
David Odin
09a819fef9 Moved the ChangeLog entry to the right ChangeLog 2005-09-27 19:01:53 +00:00
David Odin
31659726ea initialize all the fields of GInterfaceInfo in the G_IMPLEMENT_INTERFACE
* gobject/gtype.h: initialize all the fields of GInterfaceInfo in the
  G_IMPLEMENT_INTERFACE macro, to shut up a warning when compiling at -W
2005-09-26 18:35:32 +00:00
Matthias Clasen
4d83c82f47 Add details to the docs. (#314393, Matthew F. Barnes)
2005-09-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gstrfuncs.c (g_ascii_strtoull): Add details to the
	docs.  (#314393, Matthew F. Barnes)
2005-09-26 14:44:01 +00:00
Matthias Clasen
5b60a98d99 Remove g_snprintf() and g_vsnprintf(), since they are already declared in
2005-09-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since
	they are already declared in glib.h. This doesn't break documented
	use of gprintf.h, but should probably be pointed out in the
	release notes for 2.10. (#314232, Behdad Esfahbod)
2005-09-26 14:33:00 +00:00
Tim Janik
744a4397ff applied significant recursion complexity optimization, based on a patch
Tue Sep 20 13:16:04 2005  Tim Janik  <timj@imendio.com>

        * glib/gpattern.c (g_pattern_ph_match): applied significant recursion
        complexity optimization, based on a patch from Matthias Clasen.

        * tests/patterntest.c: more tests, mostly from matthias.
2005-09-20 11:20:23 +00:00
Matthias Clasen
3fef89349b Doc fixes 2005-09-20 05:50:24 +00:00
Tim Janik
a2ff6e7982 applied a patch from matthias which checks on the upper bound of
Mon Sep 19 17:23:23 2005  Tim Janik  <timj@imendio.com>

        * glib/gpattern.c: applied a patch from matthias which checks on the
        upper bound of GPatternSpec length to optimize matches.
        cosmetic fixups.

        * tests/patterntest.c: added more match cases.
2005-09-19 15:27:17 +00:00
Tor Lillqvist
3fc9c7a45a Add warning to doc comment that these functions should not be used on
2005-09-16  Tor Lillqvist  <tml@novell.com>

	* glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add
	warning to doc comment that these functions should not be used on
	encodings like CP932.
2005-09-15 23:41:25 +00:00
Matthias Clasen
81719cc164 Add a test for grup names of length 1.
2005-09-14  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c: Add a test for grup names of length 1.

	* glib/gkeyfile.c (g_key_file_line_is_group): Accept group names
	of length 1.  (#316309)
2005-09-14 18:04:53 +00:00
Matthias Clasen
047558bc21 Clarify docs.
2005-09-12  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c (g_markup_escape_text): Clarify docs.
2005-09-12 18:23:43 +00:00
Sebastian Wilhelmi
d8d12ca541 Link the the refcount tests to the system thread library $(G_THREAD_LIBS).
2005-09-11  Sebastian Wilhelmi  <seppi@seppi.de>

	* tests/refcount/Makefile.am (INCLUDES): Link the the refcount
	tests to the system thread library $(G_THREAD_LIBS). Fixes #313744
	and #314217.
2005-09-11 16:48:38 +00:00
Kjartan Maraas
2d3fff85d7 Remove some dead code. Closes bug #315278.
2005-09-11  Kjartan Maraas  <kmaraas@gnome.org>

	* glib/gmain.c: (g_child_watch_prepare), (g_child_watch_check),
	(child_watch_helper_thread): Remove some dead code. Closes
	bug #315278.
2005-09-11 15:20:52 +00:00
Tor Lillqvist
17045b64d3 Create also a console version of the gspawn-win32-helper program,
2005-09-07  Tor Lillqvist  <tml@novell.com>

	* glib/Makefile.am: Create also a console version of the
	gspawn-win32-helper program, gspawn-win32-helper-console.exe.
	It's otherwise identical to gspawn-win32-helper.exe, except marked
	as a console application (linked without the -mwindows option).

	* glib/gspawn-win32.c (do_spawn_directly, do_spawn_with_pipes):
	Drop the dont_wait parameter. Its truth value correlated 100% with
	the NULLness of the exit_status parameter anyway, so it's enough
	to check whether exit_status is NULL. Invert the sense of the
	dont_return_handle parameter and rename it to do_return_handle, to
	make the code easier to read by avoiding double negations.

	(g_spawn_sync_utf8, g_spawn_async_with_pipes_utf8): Modify calls
	to do_spawn_with_pipes() accordingly.

	(do_spawn_with_pipes): If we have a console, use the console
	version of the helper program, otherwise use the GUI one. This
	avoids extra console windows opening up in some situations. (In
	case a console application uses the GUI gspawn-win32-helper.exe to
	spawn another console application we would get a separate console
	for the spawned console application).

	* glib-zip.in: Distribute also gspawn-win32-helper-console.exe.
2005-09-07 10:10:49 +00:00
Matthias Clasen
38094ffb5c Report an error if the file is too large. (#315275, Kjartan Maraas)
2005-09-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmappedfile.c (g_mapped_file_new): Report an error
	if the file is too large.  (#315275, Kjartan Maraas)
2005-09-05 18:20:24 +00:00
Matthias Clasen
1c0b689399 The return value of read() is signed. (#315273, Kjartan Maraas)
2005-09-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_load_from_fd): The return value
	of read() is signed.  (#315273, Kjartan Maraas)
2005-09-05 17:55:11 +00:00
Tor Lillqvist
130763338c Wrapping atexit() is a bad idea on Windows, where the EXE and each DLL
2005-08-31  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
	the EXE and each DLL have their own atexit function chains.

	#define g_atexit as atexit instead. This means it has a
	better chance of doing what the caller wants. For instance,
	gtkhtml calls g_atexit() registering a function in gtkhtml
	itself. This caused a crash when g_atexit() was implemented as a
	function in the GLib DLL. The gtkhtml DLL was already unloaded by
	the time the GLib DLL got unloaded.

	* glib/gutils.c: #undef the #define mentioned above, to also get a
	real g_atexit() into the DLL for backward compatibility. Document
	the Windows behaviour of g_atexit(), and document the varying ways
	atexit() can behave in the context of dynamically loaded modules
	on Unix.
2005-08-31 21:02:47 +00:00
Matthias Clasen
70af0de0ef Add functions to intern strings.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gquark.h:
	* glib/gdataset.c: Add functions to intern strings.
2005-08-31 14:25:45 +00:00