[vala] glib-2.0: Add string.slice method



commit 0a692ab35788c14498127ca8c04d144a6616ae57
Author: Jürg Billeter <j bitron ch>
Date:   Sat Dec 19 10:00:36 2009 +0100

    glib-2.0: Add string.slice method

 vapi/glib-2.0.vapi |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi
index 65da48d..ed4d9e9 100644
--- a/vapi/glib-2.0.vapi
+++ b/vapi/glib-2.0.vapi
@@ -969,6 +969,21 @@ public class string {
 		return start.ndup (((char*) start.offset (len)) - ((char*) start));
 	}
 
+	public string slice (long start, long end) {
+		long string_length = this.len ();
+		if (start < 0) {
+			start = string_length + start;
+		}
+		if (end < 0) {
+			end = string_length + end;
+		}
+		GLib.return_val_if_fail (start >= 0 && start <= string_length, null);
+		GLib.return_val_if_fail (end >= 0 && end <= string_length, null);
+		GLib.return_val_if_fail (start <= end, null);
+		unowned string start_string = this.offset (start);
+		return start_string.ndup (((char*) start_string.offset (end - start)) - ((char*) start_string));
+	}
+
 	public bool contains (string needle) {
 		return this.str (needle) != null;
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]