Fix String.codePointAt.

Was passing the wrong indices to Character.codePointAt.

bug: 26126818
Change-Id: Id9edb51067c847bb8637bf614b21727b4a58f58a
diff --git a/luni/src/test/java/libcore/java/lang/StringTest.java b/luni/src/test/java/libcore/java/lang/StringTest.java
index c5948fc..2ba6109 100644
--- a/luni/src/test/java/libcore/java/lang/StringTest.java
+++ b/luni/src/test/java/libcore/java/lang/StringTest.java
@@ -416,4 +416,13 @@
         assertEquals("", splits[6]);
         assertEquals("", splits[7]);
     }
+
+    // http://b/26126818
+    public void testCodePointCount() {
+        String hello = "Hello, fools";
+
+        assertEquals(5, hello.codePointCount(0, 5));
+        assertEquals(7, hello.codePointCount(5, 12));
+        assertEquals(2, hello.codePointCount(10, 12));
+    }
 }
diff --git a/ojluni/src/main/java/java/lang/String.java b/ojluni/src/main/java/java/lang/String.java
index f4c6ce6..68b7ddd 100755
--- a/ojluni/src/main/java/java/lang/String.java
+++ b/ojluni/src/main/java/java/lang/String.java
@@ -656,7 +656,7 @@
         if (beginIndex < 0 || endIndex > count || beginIndex > endIndex) {
             throw new IndexOutOfBoundsException();
         }
-        return Character.codePointCount(this, beginIndex, endIndex - beginIndex);
+        return Character.codePointCount(this, beginIndex, endIndex);
     }
 
     /**