X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgstrfuncs.h;h=41fc8397e7823e7826decaf654b5a09413780f5e;hb=35eaf037bdfca985abf5d349e7355f1d2ed9c77b;hp=68c89fdb96d1eb56d3e77e37245b8c1133b4dfae;hpb=03766a1a38407fbbbf8c30874e6f8d46e2b0da43;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gstrfuncs.h b/glib/gstrfuncs.h index 68c89fd..41fc839 100644 --- a/glib/gstrfuncs.h +++ b/glib/gstrfuncs.h @@ -12,9 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library; if not, see . */ /* @@ -24,13 +22,13 @@ * GLib at ftp://ftp.gtk.org/pub/gtk/. */ +#ifndef __G_STRFUNCS_H__ +#define __G_STRFUNCS_H__ + #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_STRFUNCS_H__ -#define __G_STRFUNCS_H__ - #include #include #include @@ -87,54 +85,74 @@ GLIB_VAR const guint16 * const g_ascii_table; #define g_ascii_isxdigit(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_XDIGIT) != 0) +GLIB_AVAILABLE_IN_ALL gchar g_ascii_tolower (gchar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL gchar g_ascii_toupper (gchar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL gint g_ascii_digit_value (gchar c) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL gint g_ascii_xdigit_value (gchar c) G_GNUC_CONST; /* String utility functions that modify a string argument or * return a constant string that must not be freed. */ #define G_STR_DELIMITERS "_-|> <." +GLIB_AVAILABLE_IN_ALL gchar* g_strdelimit (gchar *string, const gchar *delimiters, gchar new_delimiter); +GLIB_AVAILABLE_IN_ALL gchar* g_strcanon (gchar *string, const gchar *valid_chars, gchar substitutor); +GLIB_AVAILABLE_IN_ALL const gchar * g_strerror (gint errnum) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL const gchar * g_strsignal (gint signum) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL gchar * g_strreverse (gchar *string); +GLIB_AVAILABLE_IN_ALL gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size); +GLIB_AVAILABLE_IN_ALL gsize g_strlcat (gchar *dest, const gchar *src, gsize dest_size); +GLIB_AVAILABLE_IN_ALL gchar * g_strstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle); +GLIB_AVAILABLE_IN_ALL gchar * g_strrstr (const gchar *haystack, const gchar *needle); +GLIB_AVAILABLE_IN_ALL gchar * g_strrstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle); +GLIB_AVAILABLE_IN_ALL gboolean g_str_has_suffix (const gchar *str, const gchar *suffix); +GLIB_AVAILABLE_IN_ALL gboolean g_str_has_prefix (const gchar *str, const gchar *prefix); /* String to/from double conversion functions */ +GLIB_AVAILABLE_IN_ALL gdouble g_strtod (const gchar *nptr, gchar **endptr); +GLIB_AVAILABLE_IN_ALL gdouble g_ascii_strtod (const gchar *nptr, gchar **endptr); +GLIB_AVAILABLE_IN_ALL guint64 g_ascii_strtoull (const gchar *nptr, gchar **endptr, guint base); +GLIB_AVAILABLE_IN_ALL gint64 g_ascii_strtoll (const gchar *nptr, gchar **endptr, guint base); @@ -142,31 +160,41 @@ gint64 g_ascii_strtoll (const gchar *nptr, * g_ascii_dtostr can produce. * Then add 10 for good measure */ #define G_ASCII_DTOSTR_BUF_SIZE (29 + 10) +GLIB_AVAILABLE_IN_ALL gchar * g_ascii_dtostr (gchar *buffer, gint buf_len, gdouble d); +GLIB_AVAILABLE_IN_ALL gchar * g_ascii_formatd (gchar *buffer, gint buf_len, const gchar *format, gdouble d); /* removes leading spaces */ +GLIB_AVAILABLE_IN_ALL gchar* g_strchug (gchar *string); /* removes trailing spaces */ +GLIB_AVAILABLE_IN_ALL gchar* g_strchomp (gchar *string); /* removes leading & trailing spaces */ #define g_strstrip( string ) g_strchomp (g_strchug (string)) +GLIB_AVAILABLE_IN_ALL gint g_ascii_strcasecmp (const gchar *s1, const gchar *s2); +GLIB_AVAILABLE_IN_ALL gint g_ascii_strncasecmp (const gchar *s1, const gchar *s2, gsize n); +GLIB_AVAILABLE_IN_ALL gchar* g_ascii_strdown (const gchar *str, gssize len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_ascii_strup (const gchar *str, gssize len) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_2_40 +gboolean g_str_is_ascii (const gchar *str); GLIB_DEPRECATED gint g_strcasecmp (const gchar *s1, @@ -184,17 +212,24 @@ gchar* g_strup (gchar *string); /* String utility functions that return a newly allocated string which * ought to be freed with g_free from the caller at some point. */ +GLIB_AVAILABLE_IN_ALL gchar* g_strdup (const gchar *str) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_strdup_printf (const gchar *format, ...) G_GNUC_PRINTF (1, 2) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_strdup_vprintf (const gchar *format, - va_list args) G_GNUC_MALLOC; + va_list args) G_GNUC_PRINTF(1, 0) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_strndup (const gchar *str, gsize n) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_strnfill (gsize length, gchar fill_char) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_strconcat (const gchar *string1, ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; +GLIB_AVAILABLE_IN_ALL gchar* g_strjoin (const gchar *separator, ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; @@ -202,6 +237,7 @@ gchar* g_strjoin (const gchar *separator, * sequences. Inverse of g_strescape. The recognized sequences are \b * \f \n \r \t \\ \" and the octal format. */ +GLIB_AVAILABLE_IN_ALL gchar* g_strcompress (const gchar *source) G_GNUC_MALLOC; /* Copy a string escaping nonprintable characters like in C strings. @@ -212,9 +248,11 @@ gchar* g_strcompress (const gchar *source) G_GNUC_MALLOC; * Luckily this function wasn't used much, using NULL as second parameter * provides mostly identical semantics. */ +GLIB_AVAILABLE_IN_ALL gchar* g_strescape (const gchar *source, const gchar *exceptions) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gpointer g_memdup (gconstpointer mem, guint byte_size) G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(2); @@ -227,21 +265,42 @@ gpointer g_memdup (gconstpointer mem, * g_strdupv() copies a NULL-terminated array of strings * g_strv_length() returns the length of a NULL-terminated array of strings */ +GLIB_AVAILABLE_IN_ALL gchar** g_strsplit (const gchar *string, const gchar *delimiter, gint max_tokens) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar ** g_strsplit_set (const gchar *string, const gchar *delimiters, gint max_tokens) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL gchar* g_strjoinv (const gchar *separator, gchar **str_array) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL void g_strfreev (gchar **str_array); +GLIB_AVAILABLE_IN_ALL gchar** g_strdupv (gchar **str_array) G_GNUC_MALLOC; +GLIB_AVAILABLE_IN_ALL guint g_strv_length (gchar **str_array); +GLIB_AVAILABLE_IN_ALL gchar* g_stpcpy (gchar *dest, const char *src); +GLIB_AVAILABLE_IN_2_40 +gchar * g_str_to_ascii (const gchar *str, + const gchar *from_locale); + +GLIB_AVAILABLE_IN_2_40 +gchar ** g_str_tokenize_and_fold (const gchar *string, + const gchar *translit_locale, + gchar ***ascii_alternates); + +GLIB_AVAILABLE_IN_2_40 +gboolean g_str_match_string (const gchar *search_term, + const gchar *potential_hit, + gboolean accept_alternates); + G_END_DECLS #endif /* __G_STRFUNCS_H__ */