GString: cosmetic cleanups

This commit is contained in:
Matthias Clasen 2011-10-01 23:23:40 -04:00
parent 7154d44c5c
commit 459b14d89a
2 changed files with 357 additions and 358 deletions

View File

@ -71,14 +71,14 @@
* *
* To free the entire #GStringChunk use g_string_chunk_free(). It is * To free the entire #GStringChunk use g_string_chunk_free(). It is
* not possible to free individual strings. * not possible to free individual strings.
**/ */
/** /**
* GStringChunk: * GStringChunk:
* *
* An opaque data structure representing String Chunks. It should only * An opaque data structure representing String Chunks. It should only
* be accessed by using the following functions. * be accessed by using the following functions.
**/ */
struct _GStringChunk struct _GStringChunk
{ {
GHashTable *const_table; GHashTable *const_table;
@ -108,7 +108,7 @@ struct _GStringChunk
*/ */
gboolean gboolean
g_str_equal (gconstpointer v1, g_str_equal (gconstpointer v1,
gconstpointer v2) gconstpointer v2)
{ {
const gchar *string1 = v1; const gchar *string1 = v1;
const gchar *string2 = v2; const gchar *string2 = v2;
@ -132,7 +132,7 @@ g_str_equal (gconstpointer v1,
* when using strings as keys in a #GHashTable. * when using strings as keys in a #GHashTable.
* *
* Returns: a hash value corresponding to the key * Returns: a hash value corresponding to the key
**/ */
guint guint
g_str_hash (gconstpointer v) g_str_hash (gconstpointer v)
{ {
@ -159,7 +159,7 @@ nearest_power (gsize base, gsize num)
gsize n = base; gsize n = base;
while (n < num) while (n < num)
n <<= 1; n <<= 1;
return n; return n;
} }
@ -171,9 +171,9 @@ nearest_power (gsize base, gsize num)
/** /**
* g_string_chunk_new: * g_string_chunk_new:
* @size: the default size of the blocks of memory which are * @size: the default size of the blocks of memory which are
* allocated to store the strings. If a particular string * allocated to store the strings. If a particular string
* is larger than this default size, a larger block of * is larger than this default size, a larger block of
* memory will be allocated for it. * memory will be allocated for it.
* *
* Creates a new #GStringChunk. * Creates a new #GStringChunk.
* *
@ -214,7 +214,7 @@ g_string_chunk_free (GStringChunk *chunk)
if (chunk->storage_list) if (chunk->storage_list)
{ {
for (tmp_list = chunk->storage_list; tmp_list; tmp_list = tmp_list->next) for (tmp_list = chunk->storage_list; tmp_list; tmp_list = tmp_list->next)
g_free (tmp_list->data); g_free (tmp_list->data);
g_slist_free (chunk->storage_list); g_slist_free (chunk->storage_list);
} }
@ -249,9 +249,9 @@ g_string_chunk_clear (GStringChunk *chunk)
g_slist_free (chunk->storage_list); g_slist_free (chunk->storage_list);
chunk->storage_list = NULL; chunk->storage_list = NULL;
chunk->storage_next = chunk->default_size; chunk->storage_next = chunk->default_size;
chunk->this_size = chunk->default_size; chunk->this_size = chunk->default_size;
} }
if (chunk->const_table) if (chunk->const_table)
@ -276,11 +276,11 @@ g_string_chunk_clear (GStringChunk *chunk)
* duplicates. * duplicates.
* *
* Returns: a pointer to the copy of @string within * Returns: a pointer to the copy of @string within
* the #GStringChunk * the #GStringChunk
*/ */
gchar* gchar*
g_string_chunk_insert (GStringChunk *chunk, g_string_chunk_insert (GStringChunk *chunk,
const gchar *string) const gchar *string)
{ {
g_return_val_if_fail (chunk != NULL, NULL); g_return_val_if_fail (chunk != NULL, NULL);
@ -311,7 +311,7 @@ g_string_chunk_insert (GStringChunk *chunk,
*/ */
gchar* gchar*
g_string_chunk_insert_const (GStringChunk *chunk, g_string_chunk_insert_const (GStringChunk *chunk,
const gchar *string) const gchar *string)
{ {
char* lookup; char* lookup;
@ -354,8 +354,8 @@ g_string_chunk_insert_const (GStringChunk *chunk,
*/ */
gchar* gchar*
g_string_chunk_insert_len (GStringChunk *chunk, g_string_chunk_insert_len (GStringChunk *chunk,
const gchar *string, const gchar *string,
gssize len) gssize len)
{ {
gssize size; gssize size;
gchar* pos; gchar* pos;
@ -372,7 +372,7 @@ g_string_chunk_insert_len (GStringChunk *chunk,
gsize new_size = nearest_power (chunk->default_size, size + 1); gsize new_size = nearest_power (chunk->default_size, size + 1);
chunk->storage_list = g_slist_prepend (chunk->storage_list, chunk->storage_list = g_slist_prepend (chunk->storage_list,
g_new (gchar, new_size)); g_new (gchar, new_size));
chunk->this_size = new_size; chunk->this_size = new_size;
chunk->storage_next = 0; chunk->storage_next = 0;
@ -392,8 +392,8 @@ g_string_chunk_insert_len (GStringChunk *chunk,
/* Strings. /* Strings.
*/ */
static void static void
g_string_maybe_expand (GString* string, g_string_maybe_expand (GString *string,
gsize len) gsize len)
{ {
if (string->len + len >= string->allocated_len) if (string->len + len >= string->allocated_len)
{ {
@ -405,7 +405,7 @@ g_string_maybe_expand (GString* string,
/** /**
* g_string_sized_new: * g_string_sized_new:
* @dfl_size: the default size of the space allocated to * @dfl_size: the default size of the space allocated to
* hold the string * hold the string
* *
* Creates a new #GString, with enough space for @dfl_size * Creates a new #GString, with enough space for @dfl_size
* bytes. This is useful if you are going to add a lot of * bytes. This is useful if you are going to add a lot of
@ -414,7 +414,7 @@ g_string_maybe_expand (GString* string,
* *
* Returns: the new #GString * Returns: the new #GString
*/ */
GString* GString *
g_string_sized_new (gsize dfl_size) g_string_sized_new (gsize dfl_size)
{ {
GString *string = g_slice_new (GString); GString *string = g_slice_new (GString);
@ -437,7 +437,7 @@ g_string_sized_new (gsize dfl_size)
* *
* Returns: the new #GString * Returns: the new #GString
*/ */
GString* GString *
g_string_new (const gchar *init) g_string_new (const gchar *init)
{ {
GString *string; GString *string;
@ -472,7 +472,7 @@ g_string_new (const gchar *init)
* *
* Returns: a new #GString * Returns: a new #GString
*/ */
GString* GString *
g_string_new_len (const gchar *init, g_string_new_len (const gchar *init,
gssize len) gssize len)
{ {
@ -494,7 +494,7 @@ g_string_new_len (const gchar *init,
/** /**
* g_string_free: * g_string_free:
* @string: a #GString * @string: a #GString
* @free_segment: if %TRUE the actual character data is freed as well * @free_segment: if %TRUE, the actual character data is freed as well
* *
* Frees the memory allocated for the #GString. * Frees the memory allocated for the #GString.
* If @free_segment is %TRUE it also frees the character data. If * If @free_segment is %TRUE it also frees the character data. If
@ -504,9 +504,9 @@ g_string_new_len (const gchar *init,
* Returns: the character data of @string * Returns: the character data of @string
* (i.e. %NULL if @free_segment is %TRUE) * (i.e. %NULL if @free_segment is %TRUE)
*/ */
gchar* gchar *
g_string_free (GString *string, g_string_free (GString *string,
gboolean free_segment) gboolean free_segment)
{ {
gchar *segment; gchar *segment;
@ -534,7 +534,7 @@ g_string_free (GString *string,
* For use with #GHashTable. * For use with #GHashTable.
* *
* Returns: %TRUE if they strings are the same length and contain the * Returns: %TRUE if they strings are the same length and contain the
* same bytes * same bytes
*/ */
gboolean gboolean
g_string_equal (const GString *v, g_string_equal (const GString *v,
@ -553,7 +553,7 @@ g_string_equal (const GString *v,
while (i) while (i)
{ {
if (*p != *q) if (*p != *q)
return FALSE; return FALSE;
p++; p++;
q++; q++;
i--; i--;
@ -569,7 +569,6 @@ g_string_equal (const GString *v,
* *
* Returns: hash code for @str * Returns: hash code for @str
*/ */
/* 31 bit hash function */
guint guint
g_string_hash (const GString *str) g_string_hash (const GString *str)
{ {
@ -577,6 +576,7 @@ g_string_hash (const GString *str)
gsize n = str->len; gsize n = str->len;
guint h = 0; guint h = 0;
/* 31 bit hash function */
while (n--) while (n--)
{ {
h = (h << 5) - h + *p; h = (h << 5) - h + *p;
@ -599,18 +599,19 @@ g_string_hash (const GString *str)
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_assign (GString *string, g_string_assign (GString *string,
const gchar *rval) const gchar *rval)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
g_return_val_if_fail (rval != NULL, string); g_return_val_if_fail (rval != NULL, string);
/* Make sure assigning to itself doesn't corrupt the string. */ /* Make sure assigning to itself doesn't corrupt the string. */
if (string->str != rval) if (string->str != rval)
{ {
/* Assigning from substring should be ok since g_string_truncate /* Assigning from substring should be ok, since
does not realloc. */ * g_string_truncate() does not reallocate.
*/
g_string_truncate (string, 0); g_string_truncate (string, 0);
g_string_append (string, rval); g_string_append (string, rval);
} }
@ -627,9 +628,9 @@ g_string_assign (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_truncate (GString *string, g_string_truncate (GString *string,
gsize len) gsize len)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -651,10 +652,10 @@ g_string_truncate (GString *string,
* always, string->str[string->len] will be a nul byte.) * always, string->str[string->len] will be a nul byte.)
* *
* Return value: @string * Return value: @string
**/ */
GString* GString *
g_string_set_size (GString *string, g_string_set_size (GString *string,
gsize len) gsize len)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -686,11 +687,11 @@ g_string_set_size (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_insert_len (GString *string, g_string_insert_len (GString *string,
gssize pos, gssize pos,
const gchar *val, const gchar *val,
gssize len) gssize len)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
g_return_val_if_fail (len == 0 || val != NULL, string); g_return_val_if_fail (len == 0 || val != NULL, string);
@ -706,10 +707,11 @@ g_string_insert_len (GString *string,
else else
g_return_val_if_fail (pos <= string->len, string); g_return_val_if_fail (pos <= string->len, string);
/* Check whether val represents a substring of string. This test /* Check whether val represents a substring of string.
probably violates chapter and verse of the C standards, since * This test probably violates chapter and verse of the C standards,
">=" and "<=" are only valid when val really is a substring. * since ">=" and "<=" are only valid when val really is a substring.
In practice, it will work on modern archs. */ * In practice, it will work on modern archs.
*/
if (val >= string->str && val <= string->str + string->len) if (val >= string->str && val <= string->str + string->len)
{ {
gsize offset = val - string->str; gsize offset = val - string->str;
@ -763,7 +765,8 @@ g_string_insert_len (GString *string,
#define SUB_DELIM_CHARS "!$&'()*+,;=" #define SUB_DELIM_CHARS "!$&'()*+,;="
static gboolean static gboolean
is_valid (char c, const char *reserved_chars_allowed) is_valid (char c,
const char *reserved_chars_allowed)
{ {
if (g_ascii_isalnum (c) || if (g_ascii_isalnum (c) ||
c == '-' || c == '-' ||
@ -791,7 +794,8 @@ gunichar_ok (gunichar c)
* g_string_append_uri_escaped: * g_string_append_uri_escaped:
* @string: a #GString * @string: a #GString
* @unescaped: a string * @unescaped: a string
* @reserved_chars_allowed: a string of reserved characters allowed to be used, or %NULL * @reserved_chars_allowed: a string of reserved characters allowed
* to be used, or %NULL
* @allow_utf8: set %TRUE if the escaped string may include UTF8 characters * @allow_utf8: set %TRUE if the escaped string may include UTF8 characters
* *
* Appends @unescaped to @string, escaped any characters that * Appends @unescaped to @string, escaped any characters that
@ -800,15 +804,15 @@ gunichar_ok (gunichar c)
* Returns: @string * Returns: @string
* *
* Since: 2.16 * Since: 2.16
**/ */
GString * GString *
g_string_append_uri_escaped (GString *string, g_string_append_uri_escaped (GString *string,
const char *unescaped, const gchar *unescaped,
const char *reserved_chars_allowed, const gchar *reserved_chars_allowed,
gboolean allow_utf8) gboolean allow_utf8)
{ {
unsigned char c; unsigned char c;
const char *end; const gchar *end;
static const gchar hex[16] = "0123456789ABCDEF"; static const gchar hex[16] = "0123456789ABCDEF";
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -819,24 +823,24 @@ g_string_append_uri_escaped (GString *string,
while ((c = *unescaped) != 0) while ((c = *unescaped) != 0)
{ {
if (c >= 0x80 && allow_utf8 && if (c >= 0x80 && allow_utf8 &&
gunichar_ok (g_utf8_get_char_validated (unescaped, end - unescaped))) gunichar_ok (g_utf8_get_char_validated (unescaped, end - unescaped)))
{ {
int len = g_utf8_skip [c]; int len = g_utf8_skip [c];
g_string_append_len (string, unescaped, len); g_string_append_len (string, unescaped, len);
unescaped += len; unescaped += len;
} }
else if (is_valid (c, reserved_chars_allowed)) else if (is_valid (c, reserved_chars_allowed))
{ {
g_string_append_c (string, c); g_string_append_c (string, c);
unescaped++; unescaped++;
} }
else else
{ {
g_string_append_c (string, '%'); g_string_append_c (string, '%');
g_string_append_c (string, hex[((guchar)c) >> 4]); g_string_append_c (string, hex[((guchar)c) >> 4]);
g_string_append_c (string, hex[((guchar)c) & 0xf]); g_string_append_c (string, hex[((guchar)c) & 0xf]);
unescaped++; unescaped++;
} }
} }
return string; return string;
@ -852,9 +856,9 @@ g_string_append_uri_escaped (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_append (GString *string, g_string_append (GString *string,
const gchar *val) const gchar *val)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
g_return_val_if_fail (val != NULL, string); g_return_val_if_fail (val != NULL, string);
@ -878,8 +882,8 @@ g_string_append (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_append_len (GString *string, g_string_append_len (GString *string,
const gchar *val, const gchar *val,
gssize len) gssize len)
{ {
@ -900,9 +904,9 @@ g_string_append_len (GString *string,
* Returns: @string * Returns: @string
*/ */
#undef g_string_append_c #undef g_string_append_c
GString* GString *
g_string_append_c (GString *string, g_string_append_c (GString *string,
gchar c) gchar c)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -918,10 +922,10 @@ g_string_append_c (GString *string,
* to the string. * to the string.
* *
* Return value: @string * Return value: @string
**/ */
GString* GString *
g_string_append_unichar (GString *string, g_string_append_unichar (GString *string,
gunichar wc) gunichar wc)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -938,9 +942,9 @@ g_string_append_unichar (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_prepend (GString *string, g_string_prepend (GString *string,
const gchar *val) const gchar *val)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
g_return_val_if_fail (val != NULL, string); g_return_val_if_fail (val != NULL, string);
@ -964,8 +968,8 @@ g_string_prepend (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_prepend_len (GString *string, g_string_prepend_len (GString *string,
const gchar *val, const gchar *val,
gssize len) gssize len)
{ {
@ -985,9 +989,9 @@ g_string_prepend_len (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_prepend_c (GString *string, g_string_prepend_c (GString *string,
gchar c) gchar c)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -1003,10 +1007,10 @@ g_string_prepend_c (GString *string,
* to the string. * to the string.
* *
* Return value: @string * Return value: @string
**/ */
GString* GString *
g_string_prepend_unichar (GString *string, g_string_prepend_unichar (GString *string,
gunichar wc) gunichar wc)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -1024,13 +1028,14 @@ g_string_prepend_unichar (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_insert (GString *string, g_string_insert (GString *string,
gssize pos, gssize pos,
const gchar *val) const gchar *val)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
g_return_val_if_fail (val != NULL, string); g_return_val_if_fail (val != NULL, string);
if (pos >= 0) if (pos >= 0)
g_return_val_if_fail (pos <= string->len, string); g_return_val_if_fail (pos <= string->len, string);
@ -1047,10 +1052,10 @@ g_string_insert (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_insert_c (GString *string, g_string_insert_c (GString *string,
gssize pos, gssize pos,
gchar c) gchar c)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
@ -1077,19 +1082,19 @@ g_string_insert_c (GString *string,
/** /**
* g_string_insert_unichar: * g_string_insert_unichar:
* @string: a #GString * @string: a #GString
* @pos: the position at which to insert character, or -1 to * @pos: the position at which to insert character, or -1
* append at the end of the string * to append at the end of the string
* @wc: a Unicode character * @wc: a Unicode character
* *
* Converts a Unicode character into UTF-8, and insert it * Converts a Unicode character into UTF-8, and insert it
* into the string at the given position. * into the string at the given position.
* *
* Return value: @string * Return value: @string
**/ */
GString* GString *
g_string_insert_unichar (GString *string, g_string_insert_unichar (GString *string,
gssize pos, gssize pos,
gunichar wc) gunichar wc)
{ {
gint charlen, first, i; gint charlen, first, i;
gchar *dest; gchar *dest;
@ -1168,11 +1173,11 @@ g_string_insert_unichar (GString *string,
* Return value: @string * Return value: @string
* *
* Since: 2.14 * Since: 2.14
**/ */
GString * GString *
g_string_overwrite (GString *string, g_string_overwrite (GString *string,
gsize pos, gsize pos,
const gchar *val) const gchar *val)
{ {
g_return_val_if_fail (val != NULL, string); g_return_val_if_fail (val != NULL, string);
return g_string_overwrite_len (string, pos, val, strlen (val)); return g_string_overwrite_len (string, pos, val, strlen (val));
@ -1191,12 +1196,12 @@ g_string_overwrite (GString *string,
* Return value: @string * Return value: @string
* *
* Since: 2.14 * Since: 2.14
**/ */
GString * GString *
g_string_overwrite_len (GString *string, g_string_overwrite_len (GString *string,
gsize pos, gsize pos,
const gchar *val, const gchar *val,
gssize len) gssize len)
{ {
gsize end; gsize end;
@ -1239,10 +1244,10 @@ g_string_overwrite_len (GString *string,
* *
* Returns: @string * Returns: @string
*/ */
GString* GString *
g_string_erase (GString *string, g_string_erase (GString *string,
gssize pos, gssize pos,
gssize len) gssize len)
{ {
g_return_val_if_fail (string != NULL, NULL); g_return_val_if_fail (string != NULL, NULL);
g_return_val_if_fail (pos >= 0, string); g_return_val_if_fail (pos >= 0, string);
@ -1255,7 +1260,7 @@ g_string_erase (GString *string,
g_return_val_if_fail (pos + len <= string->len, string); g_return_val_if_fail (pos + len <= string->len, string);
if (pos + len < string->len) if (pos + len < string->len)
g_memmove (string->str + pos, string->str + pos + len, string->len - (pos + len)); g_memmove (string->str + pos, string->str + pos + len, string->len - (pos + len));
} }
string->len -= len; string->len -= len;
@ -1269,13 +1274,13 @@ g_string_erase (GString *string,
* g_string_ascii_down: * g_string_ascii_down:
* @string: a GString * @string: a GString
* *
* Converts all upper case ASCII letters to lower case ASCII letters. * Converts all uppercase ASCII letters to lowercase ASCII letters.
* *
* Return value: passed-in @string pointer, with all the upper case * Return value: passed-in @string pointer, with all the
* characters converted to lower case in place, with * uppercase characters converted to lowercase in place,
* semantics that exactly match g_ascii_tolower(). * with semantics that exactly match g_ascii_tolower().
**/ */
GString* GString *
g_string_ascii_down (GString *string) g_string_ascii_down (GString *string)
{ {
gchar *s; gchar *s;
@ -1300,13 +1305,13 @@ g_string_ascii_down (GString *string)
* g_string_ascii_up: * g_string_ascii_up:
* @string: a GString * @string: a GString
* *
* Converts all lower case ASCII letters to upper case ASCII letters. * Converts all lowercase ASCII letters to uppercase ASCII letters.
* *
* Return value: passed-in @string pointer, with all the lower case * Return value: passed-in @string pointer, with all the
* characters converted to upper case in place, with * lowercase characters converted to uppercase in place,
* semantics that exactly match g_ascii_toupper(). * with semantics that exactly match g_ascii_toupper().
**/ */
GString* GString *
g_string_ascii_up (GString *string) g_string_ascii_up (GString *string)
{ {
gchar *s; gchar *s;
@ -1333,13 +1338,13 @@ g_string_ascii_up (GString *string)
* *
* Converts a #GString to lowercase. * Converts a #GString to lowercase.
* *
* Returns: the #GString. * Returns: the #GString
* *
* Deprecated:2.2: This function uses the locale-specific * Deprecated:2.2: This function uses the locale-specific
* tolower() function, which is almost never the right thing. * tolower() function, which is almost never the right thing.
* Use g_string_ascii_down() or g_utf8_strdown() instead. * Use g_string_ascii_down() or g_utf8_strdown() instead.
*/ */
GString* GString *
g_string_down (GString *string) g_string_down (GString *string)
{ {
guchar *s; guchar *s;
@ -1353,7 +1358,7 @@ g_string_down (GString *string)
while (n) while (n)
{ {
if (isupper (*s)) if (isupper (*s))
*s = tolower (*s); *s = tolower (*s);
s++; s++;
n--; n--;
} }
@ -1370,10 +1375,10 @@ g_string_down (GString *string)
* Return value: @string * Return value: @string
* *
* Deprecated:2.2: This function uses the locale-specific * Deprecated:2.2: This function uses the locale-specific
* toupper() function, which is almost never the right thing. * toupper() function, which is almost never the right thing.
* Use g_string_ascii_up() or g_utf8_strup() instead. * Use g_string_ascii_up() or g_utf8_strup() instead.
**/ */
GString* GString *
g_string_up (GString *string) g_string_up (GString *string)
{ {
guchar *s; guchar *s;
@ -1387,7 +1392,7 @@ g_string_up (GString *string)
while (n) while (n)
{ {
if (islower (*s)) if (islower (*s))
*s = toupper (*s); *s = toupper (*s);
s++; s++;
n--; n--;
} }
@ -1410,8 +1415,8 @@ g_string_up (GString *string)
*/ */
void void
g_string_append_vprintf (GString *string, g_string_append_vprintf (GString *string,
const gchar *format, const gchar *format,
va_list args) va_list args)
{ {
gchar *buf; gchar *buf;
gint len; gint len;
@ -1444,8 +1449,8 @@ g_string_append_vprintf (GString *string,
*/ */
void void
g_string_vprintf (GString *string, g_string_vprintf (GString *string,
const gchar *format, const gchar *format,
va_list args) va_list args)
{ {
g_string_truncate (string, 0); g_string_truncate (string, 0);
g_string_append_vprintf (string, format, args); g_string_append_vprintf (string, format, args);
@ -1480,8 +1485,8 @@ g_string_vprintf (GString *string,
*/ */
void void
g_string_printf (GString *string, g_string_printf (GString *string,
const gchar *format, const gchar *format,
...) ...)
{ {
va_list args; va_list args;
@ -1517,8 +1522,8 @@ g_string_printf (GString *string,
*/ */
void void
g_string_append_printf (GString *string, g_string_append_printf (GString *string,
const gchar *format, const gchar *format,
...) ...)
{ {
va_list args; va_list args;

View File

@ -8,7 +8,7 @@
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
@ -37,8 +37,8 @@
G_BEGIN_DECLS G_BEGIN_DECLS
typedef struct _GString GString; typedef struct _GString GString;
typedef struct _GStringChunk GStringChunk; typedef struct _GStringChunk GStringChunk;
/** /**
* GString: * GString:
@ -61,94 +61,94 @@ struct _GString
/* String Chunks /* String Chunks
*/ */
GStringChunk* g_string_chunk_new (gsize size); GStringChunk* g_string_chunk_new (gsize size);
void g_string_chunk_free (GStringChunk *chunk); void g_string_chunk_free (GStringChunk *chunk);
void g_string_chunk_clear (GStringChunk *chunk); void g_string_chunk_clear (GStringChunk *chunk);
gchar* g_string_chunk_insert (GStringChunk *chunk, gchar* g_string_chunk_insert (GStringChunk *chunk,
const gchar *string); const gchar *string);
gchar* g_string_chunk_insert_len (GStringChunk *chunk, gchar* g_string_chunk_insert_len (GStringChunk *chunk,
const gchar *string, const gchar *string,
gssize len); gssize len);
gchar* g_string_chunk_insert_const (GStringChunk *chunk, gchar* g_string_chunk_insert_const (GStringChunk *chunk,
const gchar *string); const gchar *string);
/* Strings /* Strings
*/ */
GString* g_string_new (const gchar *init); GString* g_string_new (const gchar *init);
GString* g_string_new_len (const gchar *init, GString* g_string_new_len (const gchar *init,
gssize len); gssize len);
GString* g_string_sized_new (gsize dfl_size); GString* g_string_sized_new (gsize dfl_size);
gchar* g_string_free (GString *string, gchar* g_string_free (GString *string,
gboolean free_segment); gboolean free_segment);
gboolean g_string_equal (const GString *v, gboolean g_string_equal (const GString *v,
const GString *v2); const GString *v2);
guint g_string_hash (const GString *str); guint g_string_hash (const GString *str);
GString* g_string_assign (GString *string, GString* g_string_assign (GString *string,
const gchar *rval); const gchar *rval);
GString* g_string_truncate (GString *string, GString* g_string_truncate (GString *string,
gsize len); gsize len);
GString* g_string_set_size (GString *string, GString* g_string_set_size (GString *string,
gsize len); gsize len);
GString* g_string_insert_len (GString *string, GString* g_string_insert_len (GString *string,
gssize pos, gssize pos,
const gchar *val, const gchar *val,
gssize len); gssize len);
GString* g_string_append (GString *string, GString* g_string_append (GString *string,
const gchar *val); const gchar *val);
GString* g_string_append_len (GString *string, GString* g_string_append_len (GString *string,
const gchar *val, const gchar *val,
gssize len); gssize len);
GString* g_string_append_c (GString *string, GString* g_string_append_c (GString *string,
gchar c); gchar c);
GString* g_string_append_unichar (GString *string, GString* g_string_append_unichar (GString *string,
gunichar wc); gunichar wc);
GString* g_string_prepend (GString *string, GString* g_string_prepend (GString *string,
const gchar *val); const gchar *val);
GString* g_string_prepend_c (GString *string, GString* g_string_prepend_c (GString *string,
gchar c); gchar c);
GString* g_string_prepend_unichar (GString *string, GString* g_string_prepend_unichar (GString *string,
gunichar wc); gunichar wc);
GString* g_string_prepend_len (GString *string, GString* g_string_prepend_len (GString *string,
const gchar *val, const gchar *val,
gssize len); gssize len);
GString* g_string_insert (GString *string, GString* g_string_insert (GString *string,
gssize pos, gssize pos,
const gchar *val); const gchar *val);
GString* g_string_insert_c (GString *string, GString* g_string_insert_c (GString *string,
gssize pos, gssize pos,
gchar c); gchar c);
GString* g_string_insert_unichar (GString *string, GString* g_string_insert_unichar (GString *string,
gssize pos, gssize pos,
gunichar wc); gunichar wc);
GString* g_string_overwrite (GString *string, GString* g_string_overwrite (GString *string,
gsize pos, gsize pos,
const gchar *val); const gchar *val);
GString* g_string_overwrite_len (GString *string, GString* g_string_overwrite_len (GString *string,
gsize pos, gsize pos,
const gchar *val, const gchar *val,
gssize len); gssize len);
GString* g_string_erase (GString *string, GString* g_string_erase (GString *string,
gssize pos, gssize pos,
gssize len); gssize len);
GString* g_string_ascii_down (GString *string); GString* g_string_ascii_down (GString *string);
GString* g_string_ascii_up (GString *string); GString* g_string_ascii_up (GString *string);
void g_string_vprintf (GString *string, void g_string_vprintf (GString *string,
const gchar *format, const gchar *format,
va_list args); va_list args);
void g_string_printf (GString *string, void g_string_printf (GString *string,
const gchar *format, const gchar *format,
...) G_GNUC_PRINTF (2, 3); ...) G_GNUC_PRINTF (2, 3);
void g_string_append_vprintf (GString *string, void g_string_append_vprintf (GString *string,
const gchar *format, const gchar *format,
va_list args); va_list args);
void g_string_append_printf (GString *string, void g_string_append_printf (GString *string,
const gchar *format, const gchar *format,
...) G_GNUC_PRINTF (2, 3); ...) G_GNUC_PRINTF (2, 3);
GString * g_string_append_uri_escaped(GString *string, GString* g_string_append_uri_escaped (GString *string,
const char *unescaped, const gchar *unescaped,
const char *reserved_chars_allowed, const gchar *reserved_chars_allowed,
gboolean allow_utf8); gboolean allow_utf8);
/* -- optimize g_strig_append_c --- */ /* -- optimize g_strig_append_c --- */
#ifdef G_CAN_INLINE #ifdef G_CAN_INLINE
@ -171,17 +171,11 @@ g_string_append_c_inline (GString *gstring,
#ifndef G_DISABLE_DEPRECATED #ifndef G_DISABLE_DEPRECATED
/* The following two functions are deprecated and will be removed in GString* g_string_down (GString *string);
* the next major release. They use the locale-specific tolower and GString* g_string_up (GString *string);
* toupper, which is almost never the right thing.
*/
GString* g_string_down (GString *string); #define g_string_sprintf g_string_printf
GString* g_string_up (GString *string); #define g_string_sprintfa g_string_append_printf
/* These aliases are included for compatibility. */
#define g_string_sprintf g_string_printf
#define g_string_sprintfa g_string_append_printf
#endif /* G_DISABLE_DEPRECATED */ #endif /* G_DISABLE_DEPRECATED */