00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef AUDACIOUS_STRINGS_H
00027 #define AUDACIOUS_STRINGS_H
00028
00029 #include <stdlib.h>
00030 #include <glib.h>
00031
00032 G_BEGIN_DECLS
00033
00034 gchar *str_append(gchar * str, const gchar * add_str);
00035 gchar *str_replace(gchar * str, gchar * new_str);
00036 void str_replace_in(gchar ** str, gchar * new_str);
00037
00038 gboolean str_has_prefix_nocase(const gchar * str, const gchar * prefix);
00039 gboolean str_has_suffix_nocase(const gchar * str, const gchar * suffix);
00040 gboolean str_has_suffixes_nocase(const gchar * str, gchar * const *suffixes);
00041
00042 gchar *str_assert_utf8(const gchar *str);
00043
00044 void str_set_utf8_impl (gchar * (* stu_impl) (const gchar *),
00045 gchar * (* stuf_impl) (const gchar *, gssize, gsize *, gsize *, GError * *));
00046 gchar * str_to_utf8 (const gchar * str);
00047 gchar * str_to_utf8_full (const gchar * str, gssize len, gsize * bytes_read,
00048 gsize * bytes_written, GError * * err);
00049
00050 const gchar *str_skip_chars(const gchar * str, const gchar * chars);
00051
00052 gchar *convert_dos_path(gchar * text);
00053
00054 gchar *filename_get_subtune(const gchar * filename, gint * track);
00055 gchar *filename_split_subtune(const gchar * filename, gint * track);
00056
00057 void string_replace_char (gchar * string, gchar old_str, gchar new_str);
00058 void string_decode_percent (gchar * string);
00059 gchar * string_encode_percent (const gchar * string, gboolean is_filename);
00060
00061 gboolean uri_is_utf8 (const gchar * uri, gboolean warn);
00062 gchar * uri_to_utf8 (const gchar * uri);
00063 void uri_check_utf8 (gchar * * uri, gboolean warn);
00064 gchar * filename_to_uri (const gchar * filename);
00065 gchar * uri_to_filename (const gchar * uri);
00066 gchar * uri_to_display (const gchar * uri);
00067
00068 gchar * uri_get_extension (const gchar * uri);
00069
00070 void string_cut_extension(gchar *string);
00071 gint string_compare (const gchar * a, const gchar * b);
00072 gint string_compare_encoded (const gchar * a, const gchar * b);
00073
00074 const void * memfind (const void * mem, gint size, const void * token, gint
00075 length);
00076
00077 gchar *str_replace_fragment(gchar *s, gint size, const gchar *old_str, const gchar *new_str);
00078
00079 void string_canonize_case(gchar *string);
00080
00081 gboolean string_to_int (const gchar * string, gint * addr);
00082 gboolean string_to_double (const gchar * string, gdouble * addr);
00083 gchar * int_to_string (gint val);
00084 gchar * double_to_string (gdouble val);
00085
00086 gboolean string_to_double_array (const gchar * string, gdouble * array, gint count);
00087 gchar * double_array_to_string (const gdouble * array, gint count);
00088
00089 G_END_DECLS
00090
00091 #endif