Commit Graph

89 Commits

Author SHA1 Message Date
Philip Withnall
f829bde76a gstring: Mark the return value from g_string_free() as nullable
It’s NULL iff free_segment is TRUE, so the annotation doesn’t quite
capture all the function definition, but is a safe over-estimate of the
return value’s nullability.

https://bugzilla.gnome.org/show_bug.cgi?id=719966
2015-03-03 17:59:50 +00:00
Sébastien Wilmet
430e6fd6ad doc: various improvements
- GSubprocessLauncher exists since 2.40, not 2.36
- more logical order for g_markup functions
- fix short description of GMarkup
- GMarkupParser: specify that some parameters are NULL-terminated.
- g_string_new (NULL); is possible.
- other trivial fixes.

https://bugzilla.gnome.org/show_bug.cgi?id=728983
2014-05-09 18:47:42 +02:00
William Jon McCann
20f4d1820b docs: use "Returns:" consistently
Instead of "Return value:".
2014-02-19 19:41:52 -05:00
Daniel Mustieles
078dbda148 Updated FSF's address 2014-01-31 14:31:55 +01:00
Dan Winship
158dde0507 Replace #ifdef HAVE_UNISTD_H checks with #ifdef G_OS_UNIX
In Windows development environments that have it, <unistd.h> is mostly
just a wrapper around several other native headers (in particular,
<io.h>, which contains read(), close(), etc, and <process.h>, which
contains getpid()). But given that some Windows dev environments don't
have <unistd.h>, everything that uses those functions on Windows
already needed to include the correct Windows header as well, and so
there is never any point to including <unistd.h> on Windows.

Also, remove some <unistd.h> includes (and a few others) that were
unnecessary even on unix.

https://bugzilla.gnome.org/show_bug.cgi?id=710519
2013-11-20 09:25:39 -05:00
Dan Winship
6e4a7fca43 Require C90 compliance
Assume all supported platforms implement C90, and therefore they
(correctly) implement atexit(), memmove(), setlocale(), strerror(),
and vprintf(), and have <float.h> and <limits.h>.

(Also remove the configure check testing that "do ... while (0)" works
correctly; the non-do/while-based version of G_STMT_START and
G_STMT_END was removed years ago, but the check remained. Also, remove
some checks that configure.ac claimed were needed for libcharset, but
aren't actually used.)

Note that removing the g_memmove() function is not an ABI break even
on systems where g_memmove() was previously not a macro, because it
was never marked GLIB_AVAILABLE_IN_ALL or listed in glib.symbols, so
it would have been glib-internal since 2004.

https://bugzilla.gnome.org/show_bug.cgi?id=710519
2013-11-20 09:16:16 -05:00
Kalev Lember
b82ace52e0 Trivial typo fix 2013-09-09 23:35:25 +02:00
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