#include <string.h>
#include <glib.h>
Go to the source code of this file.
Data Structures | |
struct | StringList |
StringList is a structure that stores a list of constant strings. More... | |
Functions | |
StringList * | stringList_new () |
Create a new StringList instance. | |
StringList * | stringList_sized_new (size_t chunk_size, size_t element_count, size_t const_count) |
Create a new StringList instance with given sizes. | |
void | stringList_clear (StringList *sList) |
Clear all content of Stringlist. | |
int | stringList_find_string (StringList *sList, const char *str) |
Find a string in StringList. | |
char ** | stringList_to_charPointerPointer (StringList *sList) |
Return a char pointer pointer (char **) which points to the list of strings. | |
const char * | stringList_index (StringList *sList, guint index) |
Return the string at the given index. | |
guint | stringList_insert (StringList *sList, const char *str) |
Insert a string to StringList. | |
guint | stringList_insert_const (StringList *sList, const char *str) |
Insert a constant string to StringList. | |
void | stringList_free (StringList *sList) |
Free the StringList instance. | |
char * | initString (char *str) |
Initialize the string by setting the first char to 0x0. | |
gboolean | isEmptyString (const char *str) |
Check whether the string is NULL or have 0 length. | |
void | string_trim (char *str) |
Trim the leading and trailing whitespace of the string. | |
char * | subString (char *buf, const char *str, int beginIndex, int length) |
Returns a substring of the given string. | |
char * | ucs4_to_utf8 (gunichar ucs4_code) |
Convert UCS-4 to UTF-8 string. | |
gunichar * | utf8_to_ucs4 (const char *utf8_str) |
Convert UTF-8 string to UCS-4 (gunichar). | |
char * | utf8_concat_ucs4 (char *utf8_str, gunichar ucs4_code) |
Concatenate a UCS-4 (gunichar) to an UTF-8 string. | |
int | strcmp_unsigned_signed (const unsigned char *str1, const char *str2) |
Compare between signed and unsigned char arrays. | |
unsigned char * | signedStr_to_unsignedStr (const char *str) |
Convert the signed char string to a new allocated unsigned char string. | |
unsigned char * | signedStr_to_unsignedStr_buffer (unsigned char *resultBuf, const char *str) |
Convert the signed char string to the unsigned char string buffer. | |
char * | unsignedStr_to_signedStr (const unsigned char *str) |
Convert the unsigned char string to a new allocated signed char string. | |
char * | unsignedStr_to_signedStr_buffer (char *resultBuf, const unsigned char *str) |
Convert the unsigned char string to the signed char string buffer. |
char* initString | ( | char * | str | ) |
If str is NULL, then an char array with MAX_STRING_BUFFER_SIZE will be assined.
str | String to be initialize, NULL for allocate a new string.. |
gboolean isEmptyString | ( | const char * | str | ) |
str | String to be check. |
unsigned char* signedStr_to_unsignedStr | ( | const char * | str | ) |
str | Signed char string. |
unsigned char* signedStr_to_unsignedStr_buffer | ( | unsigned char * | resultBuf, | |
const char * | str | |||
) |
resultBuf | The buffer that stored the conversion result. | |
str | Signed char string. |
int strcmp_unsigned_signed | ( | const unsigned char * | str1, | |
const char * | str2 | |||
) |
It behaves like strcmp() except the comparison is between a unsigned string (char array) and signed string. Mainly for GCC 4.3
str1 | Unsigned string to be compared. | |
str2 | Signed string to be compared. |
void string_trim | ( | char * | str | ) |
Note the content of str
might be changed. Use strdup() or g_strdup() to backup.
str | String to be trim. |
void stringList_clear | ( | StringList * | sList | ) |
sList | The StringList to be processed. |
int stringList_find_string | ( | StringList * | sList, | |
const char * | str | |||
) |
If found, this function returns the index of the string from 0, otherwise returns -1.
sList | The StringList to be processed. | |
str | The character to be found. |
void stringList_free | ( | StringList * | sList | ) |
Note that this function assumes the sList is not NULL. Use if (sList) stringList_free(sList);
to tolerate the NULL parameter.
sList | The StringList to be processed. |
const char* stringList_index | ( | StringList * | sList, | |
guint | index | |||
) |
sList | The StringList to be processed. | |
index | The given index. |
guint stringList_insert | ( | StringList * | sList, | |
const char * | str | |||
) |
This functions copies the str to the string list. It behaves like g_string_chunk_insert(), that is, it does not check for the duplicates. However, it returns the index instead of char pointer of inserted string.
The difference between this function and stringList_insert_const() is that each inserted identical string will have it own spaces.
sList | The StringList to be processed. | |
str | String to be inserted, can be NULL. |
guint stringList_insert_const | ( | StringList * | sList, | |
const char * | str | |||
) |
This functions copies the str to the string list. It behaves like g_string_chunk_insert_const(), that is, it checks for the duplicates. However, it returns the index instead of char pointer of inserted string.
The difference between this function and stringList_insert() is that each inserted identical string will share the same space.
sList | The StringList to be processed. | |
str | String to be inserted. |
StringList* stringList_new | ( | ) |
StringList* stringList_sized_new | ( | size_t | chunk_size, | |
size_t | element_count, | |||
size_t | const_count | |||
) |
This function allocate space for a StringList with given size, thus avoid frequent reallocation.
chunk_size | Size in bytes required for string storage. | |
element_count | Number of strings. | |
const_count | Number of constant strings (strings without duplication). |
char** stringList_to_charPointerPointer | ( | StringList * | sList | ) |
This function returns a char** which points to the places that strings are stored. The pointer directly points to content in StringList instance, so the returned pointer should not be free.
Use the stringList_free to free instead.
sList | The StringList to be processed. |
char* subString | ( | char * | buf, | |
const char * | str, | |||
int | beginIndex, | |||
int | length | |||
) |
The substring begins at the specified beginIndex and end after length
bytes. The index starts from zero.
buf | buffer that stores the result. | |
str | String to be process | |
beginIndex | the beginning index, inclusive. | |
length | total bytes to copy. |
char* ucs4_to_utf8 | ( | gunichar | ucs4_code | ) |
ucs4_code | the UCS-4 to be converted. |
char* unsignedStr_to_signedStr | ( | const unsigned char * | str | ) |
str | Unsigned char string. |
char* unsignedStr_to_signedStr_buffer | ( | char * | resultBuf, | |
const unsigned char * | str | |||
) |
resultBuf | The buffer that stored the conversion result. | |
str | Unsigned char string. |
char* utf8_concat_ucs4 | ( | char * | utf8_str, | |
gunichar | ucs4_code | |||
) |
utf8_str | the UTF-8 string. | |
ucs4_code | the UCS-4 to be appended. |
gunichar* utf8_to_ucs4 | ( | const char * | utf8_str | ) |
utf8_str | the UTF-8 string to be converted. |