diff options
author | Jürg Billeter <j@bitron.ch> | 2011-01-15 21:11:31 +0100 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2011-01-15 21:11:31 +0100 |
commit | 9c9c5a178cca7ddb221336597585f0c75d570333 (patch) | |
tree | 4cf34ce9a6ddedfe8b6b26d8691f52654f2579cd /vapi | |
parent | bd05eda863e6a6395e4709d7cbebb2969efa16ca (diff) | |
download | vala-9c9c5a178cca7ddb221336597585f0c75d570333.tar.gz |
glib-2.0: Add string.index_of
This deprecates string.str.
Diffstat (limited to 'vapi')
-rw-r--r-- | vapi/glib-2.0.vapi | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi index 5643c2d24..b5fe72c25 100644 --- a/vapi/glib-2.0.vapi +++ b/vapi/glib-2.0.vapi @@ -955,12 +955,27 @@ public enum NormalizeMode { [GIR (name = "utf8")] [CCode (cname = "gchar", const_cname = "const gchar", copy_function = "g_strdup", free_function = "g_free", cheader_filename = "stdlib.h,string.h,glib.h", type_id = "G_TYPE_STRING", marshaller_type_name = "STRING", param_spec_function = "g_param_spec_string", get_value_function = "g_value_get_string", set_value_function = "g_value_set_string", take_value_function = "g_value_take_string", type_signature = "s")] public class string { + [Deprecated (replacement = "string.index_of")] [CCode (cname = "strstr")] public unowned string? str (string needle); [CCode (cname = "g_strrstr")] public unowned string? rstr (string needle); [CCode (cname = "g_strrstr_len")] public unowned string? rstr_len (ssize_t haystack_len, string needle); + + [CCode (cname = "strstr")] + static char* strstr (char* haystack, char* needle); + + public int index_of (string needle, int start_index = 0) { + char* result = strstr ((char*) this + start_index, (char*) needle); + + if (result != null) { + return (int) (result - (char*) this); + } else { + return -1; + } + } + [CCode (cname = "g_str_has_prefix")] public bool has_prefix (string prefix); [CCode (cname = "g_str_has_suffix")] @@ -1209,7 +1224,7 @@ public class string { } public bool contains (string needle) { - return this.str (needle) != null; + return strstr ((char*) this, (char*) needle) != null; } public string replace (string old, string replacement) { |