Skip to content

Commit

Permalink
refactored StringLib
Browse files Browse the repository at this point in the history
  • Loading branch information
krka committed Jun 17, 2010
1 parent bd35af2 commit 7c48afc
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions core/src/se/krka/kahlua/stdlib/StringLib.java
Expand Up @@ -870,7 +870,10 @@ public void setIndex (int ind) {
}

public String getString() {
return getString(0);
if (index == 0) {
return string;
}
return string.substring(index);
}

public int getStringLength() {
Expand All @@ -881,13 +884,6 @@ public int getStringLength(int i) {
return string.length() - (index + i);
}

public String getString(int i) {
if (index + i == 0) {
return string;
}
return string.substring(index + i, string.length());
}

public String getStringSubString(int len) {
return string.substring(index, index + len);
}
Expand Down Expand Up @@ -927,8 +923,13 @@ public char postIncrString (int num) {
}

public int compareTo(StringPointer cmp, int len) {
return this.string.substring(this.index,this.index+len).compareTo(
cmp.string.substring(cmp.index, cmp.index+len));
for (int i = 0; i < len; i++) {
int val = getChar(i) - cmp.getChar(i);
if (val != 0) {
return val;
}
}
return 0;
}
}

Expand Down Expand Up @@ -1479,13 +1480,12 @@ private static String addString(MatchState ms, Object repl, StringPointer s, Str
if (replStr.getChar(i) != L_ESC) {
buf.append(replStr.getChar(i));
} else {
i ++; // skip ESC
i++; // skip ESC
if (!Character.isDigit(replStr.getChar(i))) {
buf.append(replStr.getChar(i));
} else if (replStr.getChar(i) == '0') {
int len = s.getStringLength() - e.length();
String str = s.getString();
buf.append(str.substring(0, len));
buf.append(s.getStringSubString(len));
} else {
Object o = ms.getCapture(replStr.getChar(i) - '1');
buf.append(KahluaUtil.tostring(o, null));
Expand Down

0 comments on commit 7c48afc

Please sign in to comment.