camel-string-utils
3
CAMEL Library

# camel-string-utils

## Synopsis

    int                 camel_strcase_equal                 (gconstpointer a,
                                                             gconstpointer b);
    guint               camel_strcase_hash                  (gconstpointer v);
    void                camel_string_list_free              (GList *string_list);
    char*               camel_strstrcase                    (const char *haystack,
                                                             const char *needle);
    const char*         camel_strdown                       (char *str);
    char                camel_tolower                       (char c);
    char                camel_toupper                       (char c);
    const char*         camel_pstring_add                   (char *str,
                                                             gboolean own);
    const char*         camel_pstring_strdup                (const char *s);
    void                camel_pstring_free                  (const char *s);

## Description

## Details

### camel_strcase_equal ()

    int                 camel_strcase_equal                 (gconstpointer a,
                                                             gconstpointer b);

`a` :

`b` :

Returns :

### camel_strcase_hash ()

    guint               camel_strcase_hash                  (gconstpointer v);

`v` :

Returns :

### camel_string_list_free ()

    void                camel_string_list_free              (GList *string_list);

`string_list` :

### camel_strstrcase ()

    char*               camel_strstrcase                    (const char *haystack,
                                                             const char *needle);

`haystack` :

`needle` :

Returns :

### camel_strdown ()

    const char*         camel_strdown                       (char *str);

`str` :

Returns :

### camel_tolower ()

    char                camel_tolower                       (char c);

ASCII to-lower function.

`c` :

Returns :

### camel_toupper ()

    char                camel_toupper                       (char c);

ASCII to-upper function.

`c` :

Returns :

### camel_pstring_add ()

    const char*         camel_pstring_add                   (char *str,
                                                             gboolean own);

Add the string to the pool.

The NULL and empty strings are special cased to constant values.

`str` :

  string to add to the string pool

`own` :

  whether the string pool will own the memory pointed to by `str`, if `str` is not yet in the pool

Returns :

  A pointer to an equivalent string of `s`. Use `camel_pstring_free()` when it is no longer needed.

### camel_pstring_strdup ()

    const char*         camel_pstring_strdup                (const char *s);

Create a new pooled string entry for the string `s`. A pooled string is a table where common strings are uniquified to the same pointer value. They are also refcounted, so freed when no longer in use. In a thread-safe manner.

The NULL and empty strings are special cased to constant values.

`s` :

  String to copy.

Returns :

  A pointer to an equivalent string of `s`. Use `camel_pstring_free()` when it is no longer needed.

### camel_pstring_free ()

    void                camel_pstring_free                  (const char *s);

De-ref a pooled string. If no more refs exist to this string, it will be deallocated.

NULL and the empty string are special cased.

`s` :

  String to free.