src/string.h

changeset 125
85814c0918c5
parent 124
a7b769a0e537
child 128
186ebeea2a85
--- a/src/string.h	Fri May 02 20:37:27 2014 +0300
+++ b/src/string.h	Fri May 02 21:37:18 2014 +0300
@@ -324,15 +324,17 @@
 			return stdString();
 		}
 
-		// =============================================================================
-		//
-		// Difference between indices @a and @b. @b can be -1, in which
-		// case it will be length() - 1.
-		//
-		inline int indexDifference (int a, int b)
+		void modifyIndex (int& a)
 		{
-			assert (b == -1 || b >= a);
-			return (b != -1 ? b - a : length() - 1 - a);
+			if (a < 0)
+				a = length() - a;
+		}
+
+		int indexDifference (int a, int b)
+		{
+			modifyIndex (a);
+			modifyIndex (b);
+			return b - a;
 		}
 
 	private:

mercurial