mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-06 11:00:57 +01:00
GString: cosmetic cleanups
This commit is contained in:
parent
7154d44c5c
commit
459b14d89a
295
glib/gstring.c
295
glib/gstring.c
@ -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;
|
||||||
|
|
||||||
|
166
glib/gstring.h
166
glib/gstring.h
@ -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 */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user