diff orange/util/string.d @ 9:99c52d46822a

Serialization works now with D2, deserialization still doesn't work
author Jacob Carlborg <doob@me.com>
date Sat, 24 Jul 2010 18:58:18 +0200
parents 11a31bd929f9
children
line wrap: on
line diff
--- a/orange/util/string.d	Wed Jul 21 13:44:08 2010 +0200
+++ b/orange/util/string.d	Sat Jul 24 18:58:18 2010 +0200
@@ -279,7 +279,8 @@
 }
 body
 {
-	return str[beginIndex .. endIndex].dup;
+	version (Tango) return str[beginIndex .. endIndex].dup;
+	else return str[beginIndex .. endIndex].idup;
 }
 
 /**
@@ -315,7 +316,8 @@
 }
 body
 {
-	return str[beginIndex .. endIndex].dup;
+	version (Tango) return str[beginIndex .. endIndex].dup;
+	else return str[beginIndex .. endIndex].idup;
 }
 
 /**
@@ -351,7 +353,8 @@
 }
 body
 {
-	return str[beginIndex .. endIndex].dup;
+	version (Tango) return str[beginIndex .. endIndex].dup;
+	else return str[beginIndex .. endIndex].idup;
 }
 
 /**
@@ -492,7 +495,8 @@
 			end = str.length;
 	}
 	
-	return str[pos .. end].dup;
+	version (Tango) return str[pos .. end].dup;
+	else return str[pos .. end].idup;
 }
 
 /**
@@ -537,7 +541,8 @@
 			end = str.length;
 	}
 	
-	return str[pos .. end].dup;
+	version (Tango) return str[pos .. end].dup;
+	else return str[pos .. end].idup;
 }
 
 /**
@@ -582,7 +587,8 @@
 			end = str.length;
 	}
 	
-	return str[pos .. end].dup;
+	version (Tango) return str[pos .. end].dup;
+	else return str[pos .. end].idup;
 }
 
 /**
@@ -595,11 +601,11 @@
  *     
  * Returns: the index of the substring or size_t.max when nothing was found
  */
-size_t find (string str, string sub, size_t start = 0)
+size_t find (string str, string sub)
 {
 	version (Tango)
 	{
-		size_t index = str.locatePattern(sub, start);
+		size_t index = str.locatePattern(sub);
 		
 		if (index == str.length)
 			return size_t.max;
@@ -608,7 +614,8 @@
 	}
 	
 	else
-		return std.string.find(str, sub, start);
+		return std.string.indexOf(str, sub);
+	
 }
 
 /**
@@ -621,11 +628,11 @@
  *     
  * Returns: the index of the substring or size_t.max when nothing was found
  */
-size_t find (wstring str, wstring sub, size_t start = 0)
+size_t find (wstring str, wstring sub)
 {
 	version (Tango)
 	{
-		size_t index = str.locatePattern(sub, start);
+		size_t index = str.locatePattern(sub);
 		
 		if (index == str.length)
 			return size_t.max;
@@ -634,7 +641,7 @@
 	}
 	
 	else
-		return std.string.find(str, sub, start);
+		return std.string.indexOf(str, sub);
 }
 
 /**
@@ -647,11 +654,11 @@
  *     
  * Returns: the index of the substring or size_t.max when nothing was found
  */
-size_t find (dstring str, dstring sub, size_t start = 0)
+size_t find (dstring str, dstring sub)
 {
 	version (Tango)
 	{
-		size_t index = str.locatePattern(sub, start);
+		size_t index = str.locatePattern(sub);
 		
 		if (index == str.length)
 			return size_t.max;
@@ -660,7 +667,7 @@
 	}
 	
 	else
-		return std.string.find(str, sub, start);
+		return std.string.indexOf(str, sub);
 }
 
 /**
@@ -813,7 +820,7 @@
 	 */
 	dchar* toString32z (dstring str)
 	{
-		return (str ~ '\0').ptr;
+		return (str ~ '\0').dup.ptr;
 	}
 	
 	/**
@@ -826,7 +833,7 @@
 	 */
 	wstring fromString16z (wchar* str)
 	{
-		return str[0 .. strlen(str)];
+		return str[0 .. strlen(str)].idup;
 	}
 	
 	/**
@@ -838,7 +845,7 @@
 	 */
 	dstring fromString32z (dchar* str)
 	{
-		return str[0 .. strlen(str)];
+		return str[0 .. strlen(str)].idup;
 	}
 	
 	/**