81 Commits

Author SHA1 Message Date
Matthias Clasen
6ef022bbb3 Move all hash functions to ghash.c
This matches their location in the headers.
2011-10-02 00:08:54 -04:00
Matthias Clasen
10d86cda02 Move GStringChunk into its own files 2011-10-01 23:38:23 -04:00
Matthias Clasen
0e8bcc3ed7 Move GString docs inline 2011-10-01 23:27:45 -04:00
Matthias Clasen
459b14d89a GString: cosmetic cleanups 2011-10-01 23:23:40 -04:00
Ryan Lortie
5dbc12e9f1 Replace @Varargs with @...
to make gtk-doc happy.
2011-07-22 15:47:24 +02:00
Johan Dahlin
fdaaa22b58 Correct gtk-doc SECTION: syntax
g-ir-scanner does not allow a space between the : and the
section name.
2011-02-01 16:18:02 -02:00
Colin Walters
05428e3c1a glib: Document g_string_free semantics better in the FALSE case 2010-12-03 10:37:28 -05:00
Ryan Lortie
354d655ba8 g_str_hash: switch to using DJB hash
This is the same as what we were already doing with 2 changes:

  - use an initial value of 5381 instead of 0

  - multiply by 33 in each round instead of 31
2010-11-17 12:24:53 -05:00
Ryan Lortie
f50a99e782 g_str_hash: clean up code
Un-unroll the first iteration.

No functional changes here.
2010-11-17 12:24:53 -05:00
Matthias Clasen
c5049d86f9 Remove redundant header inclusions 2010-09-03 20:34:15 -04:00
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Matthias Clasen
48cd4cbba5 Silence a warning
g_string_insert_len (s, pos, NULL, 0) is a harmless nop, don't
spew warnings in this case.
2010-04-18 23:53:31 -04:00
Ryan Lortie
056326c1e9 g_string_append_len() accept NULL with length == 0 2010-04-15 10:11:30 -04:00
Behdad Esfahbod
93ea4ab610 Improve docs 2010-03-31 10:55:00 -04:00
Ryan Lortie
84572f81bf String chunks: move docs from tmpl to .c 2010-01-30 23:04:52 -05:00
Matthias Clasen
c23536cefe Improve g_str_equal docs
Add a reference to g_strcmp0(), cf. bug 587938.
2009-07-10 11:18:31 -04:00
Matthias Clasen
6224d3d2ec Fix g_string_chunk_insert_len to accept nuls
Contrary to what the documentation says, g_string_chunk_insert_len
was stopping at the first nul. Also add a test. Fixes bug 585088.
2009-06-10 23:50:45 -04:00
Murray Cumming
d4b9875df1 Fixed some minor typos in the documentation.
2008-01-18  Murray Cumming  <murrayc@murrayc.com>

* glib/gfileutils.c:
* glib/gsequence.c:
* glib/gstring.c: Fixed some minor typos in the documentation.

svn path=/trunk/; revision=6332
2008-01-18 09:41:46 +00:00
Alexander Larsson
14b59e3847 Move this function before g_string_append_c so that we avoid the plt call
2007-11-28  Alexander Larsson  <alexl@redhat.com>

	* glib/gstring.c (g_string_append_uri_escaped):
	Move this function before g_string_append_c so that
	we avoid the plt call due to the undefinf of g_string_append_c


svn path=/trunk/; revision=5975
2007-11-28 14:49:22 +00:00
Alexander Larsson
e3607fcdf3 Moved gurifuncs from gio to glib
2007-11-27  Alexander Larsson  <alexl@redhat.com>

        * gio/Makefile.am:
        * gio/gurifuncs.[ch]:
        * glib/Makefile.am:
        * glib/gstring.[ch]:
        * glib/gurifuncs.[ch]:
	Moved gurifuncs from gio to glib


svn path=/trunk/; revision=5955
2007-11-27 14:57:45 +00:00
Matthias Clasen
bda8d80b6d Documentation cleanups
svn path=/trunk/; revision=5652
2007-07-22 04:14:54 +00:00
Mathias Hasselmann
c36ffea807 Use memcpy in g_string_append_vprintf (#57693).
2007-06-22  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* glib/gstring.c: Use memcpy in g_string_append_vprintf (#57693).

svn path=/trunk/; revision=5584
2007-06-22 17:04:07 +00:00
Mathias Hasselmann
90240bf12d Restore old behaviour of g_string_append_vprintf: g_vasprintf seems to be
2007-06-18  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* glib/gstring.c: Restore old behaviour of
	g_string_append_vprintf: g_vasprintf seems to be faster
	than g_printf_string_upper_bound (#57693).

svn path=/trunk/; revision=5581
2007-06-18 21:14:49 +00:00
Mathias Hasselmann
506fd2d2e1 Correctly use g_printf_string_upper_bound in g_string_append_vprintf.
2007-06-16  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* glib/gstring.c: Correctly use g_printf_string_upper_bound
	in g_string_append_vprintf. Fixes #447933.


svn path=/trunk/; revision=5570
2007-06-16 12:04:25 +00:00
Ryan Lortie
020af9f1dc Improve performance by removing the use of an intermediate g_malloc'd
2007-06-14  Ryan Lortie  <desrt@desrt.ca>

	* docs/reference/glib/glib-sections.txt:
	* glib/glib/symbols:
	* glib/gstring.[ch] (g_string_printf_internal): Improve
	performance by removing the use of an intermediate g_malloc'd
	buffer.  Rename to g_string_append_vprintf, document, and expose
	along with g_string_vprintf as new public API (#57693).


svn path=/trunk/; revision=5564
2007-06-15 12:43:54 +00:00
Mathias Hasselmann
ed4d216d2b Introduce g_string_overwrite(_len)? for overwriting parts of strings (#368686, Samuel Cormier-Iijima)
svn path=/trunk/; revision=5563
2007-06-15 11:54:21 +00:00
Matthias Clasen
836cac1512 Clarify docs. (#364026, Bastian Nocera)
2007-03-06  Matthias Clasen  <mclasen@redhat.com>

        * glib/gstring.c (g_str_equal): Clarify docs.  (#364026,
        Bastian Nocera)



svn path=/trunk/; revision=5379
2007-03-06 19:27:20 +00:00
Behdad Esfahbod
fdef315ba2 Improve docs about string functions taking a length. (#378727)
2006-12-17  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gstring.c: Improve docs about string functions taking a
        length.  (#378727)
2006-12-18 03:04:48 +00:00
Matthias Clasen
80cc5b6c3e Don't shadow size parameter 2006-12-17 14:54:01 +00:00
Matthias Clasen
16953c313a Move more documentation inline.
2006-12-16  Matthias Clasen  <mclasen@redhat.com>

	* glib/gstring.c: Move more documentation inline.
2006-12-16 22:39:55 +00:00
Matthias Clasen
10d14998d8 Move documentation inline.
2006-12-16  Matthias Clasen  <mclasen@redhat.com>

	* glib/gstring.c: Move documentation inline.
2006-12-16 06:14:45 +00:00
Matthias Clasen
0a3afe448b Add a function for clearing a GStringChunk. (#364608, Matt Barnes)
2006-12-15  Matthias Clasen  <mclasen@redhat.com>

        * glib/glib.symbols:
        * glib/gstring.[hc] (g_string_chunk_clear): Add a function
        for clearing a GStringChunk. (#364608, Matt Barnes)
2006-12-15 22:57:15 +00:00
Matthias Clasen
0b5560da8b Add versioned deprecation information 2005-12-05 15:38:54 +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
Ross Burton
efa05f88ef Optimise single-character insertions 2005-08-18 09:30:24 +00:00
Matthias Clasen
912e4ea3cb Avoid an unnecessary strlen if len is -1. (#169692, Benoit Dejean)
2005-07-19  Matthias Clasen  <mclasen@redhat.com>

        * glib/gstring.c (g_string_chunk_insert_len): Avoid
        an unnecessary strlen if len is -1.  (#169692,
        Benoit Dejean)
2005-07-19 19:05:19 +00:00
Matthias Clasen
9c53b470ec Fix portability issues. (#307064, Morten Welinder)
2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	* glib/gstring.c (g_str_hash): Fix portability issues.
	(#307064, Morten Welinder)
2005-06-30 19:50:43 +00:00
Matthias Clasen
1167d7d6a7 Documentation trivia 2005-05-02 15:45:45 +00:00
Matthias Clasen
608a31b98e Make PLT-reduction work with gcc4, and don't include everything in
2005-03-13  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in galias.h:

	* glib/glib.symbols: Group symbols by header and source file.
	* glib/makegalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegalias.pl -def
	* glib/Makefile.am (galiasdef.c): Add a rule to generate this
	file.
	* glib/*.c: Include galias.h after the other GLib headers,
	include galiasdef.c at the bottom.
2005-03-14 04:26:57 +00:00
Matthias Clasen
dafdffd751 Implement the same PLT reduction technique used in GTK+:
Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>

	Implement the same PLT reduction technique used in GTK+:
2004-09-16 06:05:53 +00:00
Tim Janik
c0930e2c71 for G_CAN_INLINE environments, inline g_string_append_c() for efficiency.
Thu Feb 19 18:40:01 2004  Tim Janik  <timj@gtk.org>

        * glib/gstring.[hc]: for G_CAN_INLINE environments, inline
        g_string_append_c() for efficiency. (vaguely based on #118707).
2004-02-19 17:42:00 +00:00
Matthias Clasen
d95fb32186 Forgot to fix this one.
Fri Jan 16 21:45:56 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_ascii_up): Forgot to fix this one.
2004-01-16 20:44:03 +00:00
Matthias Clasen
6c43e9ac9f Move initialization of variables after g_return_val_if_fail. (#131564,
Thu Jan 15 22:35:04 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_up):
	* glib/gstring.c (g_string_down):
	* glib/gstring.c (g_string_ascii_up):
	* glib/gstring.c (g_string_ascii_down): Move initialization of
	variables after g_return_val_if_fail.  (#131564, Olivier Poncet)
2004-01-15 21:33:58 +00:00
Morten Welinder
3b2f74d188 Handle the case where the to-be-inserted string is a substring of the
2003-11-05  Morten Welinder  <terra@gnome.org>

	* glib/gstring.c (g_string_insert_len): Handle the case where the
	to-be-inserted string is a substring of the target string.
	(g_string_assign): Handle "s = s;".
	(#114260, self.)
2003-11-05 16:24:44 +00:00
Matthias Clasen
cc777da9c1 Use g_vasprintf() and g_string_append_len(), thus enabling embedded nuls
2003-06-06  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_append_printf_internal): Use
	g_vasprintf() and g_string_append_len(), thus enabling embedded
	nuls in the result of g_string_printf().  (#92492, Owen Taylor)

	* tests/string-test.c: Add a test for embedded nuls in the
	result of g_string_printf().
2003-06-05 23:04:21 +00:00
Matthias Clasen
e4112b8b1b New function, to insert possible non-nul-terminated byte sequences into a
2003-04-01  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.[hc] (g_string_chunk_insert_len): New function, to
	insert possible non-nul-terminated byte sequences into a string
	chunk.  (#96279)
	(g_string_chunk_insert): Implement in terms of
	g_string_chunk_insert_len() now.
2003-03-31 22:08:08 +00:00
Matthias Clasen
6710fd6e06 Optimize the common cases (init == NULL or init == "") a bit. replace uses
2003-03-30  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_new): Optimize the common cases
	(init == NULL or init == "") a bit.
	* glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c,
	glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c,
	glib/gspawn.c, gobject/gvaluetransform.c: replace uses of
	g_string_new ("") by g_string_new (NULL).  (#106973, Morten Welinder)
2003-03-30 22:02:20 +00:00
Owen Taylor
bbbd329ff5 Patch from Sven Neumann to make the include order consistent. (#71704)
Tue Dec  3 20:22:27 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/*.c: Patch from Sven Neumann to make the
        include order consistent. (#71704)
2002-12-04 01:27:44 +00:00
Matthias Clasen
803bae66a3 Move some docs inline, and add deprecation information. To see the list of
* glib/gutils.c:
	* glib/gtree.c:
	* glib/gstring.c:
	* glib/gstrfuncs.c:
	* glib/giochannel.c: Move some docs inline, and add deprecation
	information. To see the list of affected functions, grep for
	"Deprecated:".

	* glib/tmpl/strings.sgml:
	* glib/tmpl/string_utils.sgml:
	* glib/tmpl/misc_utils.sgml: Move some docs inline.
2002-11-28 20:46:29 +00:00
Matthias Clasen
5e45a337b8 Remove references to nonexisting functions
* glib/gmain.c: Remove references to nonexisting functions
	g_source_set_callback_closure(), g_source_poll(), g_source_add()
	from docs.

	* glib/gdir.c (g_dir_open): Typo fix in docs.

	* glib/gasyncqueue.c (g_async_queue_lock):
	(g_async_queue_unref_and_unlock): Fix markup to avoid erroneous
	<link>s in docs.

	* glib/gwin32.c: Escape #'s leading to erroneous <link>s in docs.

	* glib/gtree.c: Replace some occurances of Gtree by GTree in docs.

	* glib/gstring.c (g_string_insert_unichar): Typo fix in docs.

	* glib/tmpl/conversions.sgml: Add GIConv.

	* glib/tmpl/main.sgml: Fix references to nonexisting functions
	g_main_loop_destroy(), g_source_add(), g_source_connect().

	* glib/glib-sections.txt: Add GIConv, g_str_has_prefix, g_str_has_suffix.

	* glib/tmpl/linked_lists_single.sgml:
	* glib/tmpl/linked_lists_double.sgml: GListAllocator doesn't exist.

	* glib/glib-docs.sgml: Declare hash entity.

	* glib/tmpl/macros.sgml: Escape # in #ifdef to suppress erroneous links.

	* gobject/Makefile.am, gobject/gobject-docs.sgml, gobject/tmpl/*:
	* glib/Makefile.am, glib/glib-docs.sgml, glib/tmpl/*: Produce XML,
	not SGML.
2002-05-26 22:46:28 +00:00