82 Commits

Author SHA1 Message Date
Colin Walters
4ac0d78d5d GString: Tweak documentation, add g_string_free_to_bytes()
The docs for GString should really mention GByteArray, and what makes
it different.  Drop the comparison to Java which is dated and actually
inaccurate (because StringBuffer operates on Unicode).

While we're here, add g_string_free_to_bytes(), which further
complements the spread of GBytes-based API.  For example, one can
create a buffer using GString, then send it off via
g_output_stream_write_bytes().

https://bugzilla.gnome.org/show_bug.cgi?id=677064
2012-07-06 10:19:12 -04:00
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