Fixed numerous horrific errors that were causing all sorts of problems. This is why you test your code, kids!
This commit is contained in:
parent
d375c38c3f
commit
5a6c97713c
18
utf8.h
18
utf8.h
@ -192,7 +192,7 @@ struct string32 {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
havematched--;
|
havematched--;
|
||||||
int si (i-tofind-1);
|
int si (i-tofind);
|
||||||
int ei (0);
|
int ei (0);
|
||||||
|
|
||||||
for (;i<len();i++) {
|
for (;i<len();i++) {
|
||||||
@ -205,9 +205,9 @@ struct string32 {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
string32 inner = string32(*this, si+3, ei+1);
|
string32 inner = string32(*this, si+tofind, ei+1);
|
||||||
inner = withWrapper + inner + withWrapper.reverse();
|
inner = withWrapper + inner + withWrapper.reverse();
|
||||||
cs.erase (cs.begin()+si, cs.begin()+ei+4);
|
cs.erase (cs.begin()+si, cs.begin()+ei+tofind);
|
||||||
cs.insert(cs.begin()+si, inner.cs.begin(), inner.cs.end());
|
cs.insert(cs.begin()+si, inner.cs.begin(), inner.cs.end());
|
||||||
rebuildSize();
|
rebuildSize();
|
||||||
return true;
|
return true;
|
||||||
@ -235,14 +235,14 @@ struct string32 {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
havematched--;
|
havematched--;
|
||||||
int si (i-tofind-1);
|
int si (i-tofind);
|
||||||
int ei (0);
|
int ei (0);
|
||||||
|
|
||||||
havematched = 0;
|
havematched = 0;
|
||||||
tofind = rightFindWrapper.cs.size();
|
int rightTofind = rightFindWrapper.cs.size();
|
||||||
for (;i<len();i++) {
|
for (;i<len();i++) {
|
||||||
if (havematched == tofind) {
|
if (havematched == rightTofind) {
|
||||||
ei -= tofind -1;
|
ei -= rightTofind -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (cs[i] == rightFindWrapper[havematched])
|
if (cs[i] == rightFindWrapper[havematched])
|
||||||
@ -254,9 +254,9 @@ struct string32 {
|
|||||||
if (!havematched)
|
if (!havematched)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
string32 inner = string32(*this, si+3, ei+1);
|
string32 inner = string32(*this, si+tofind, ei);
|
||||||
inner = leftWithWrapper + inner + rightWithWrapper;
|
inner = leftWithWrapper + inner + rightWithWrapper;
|
||||||
cs.erase (cs.begin()+si, cs.begin()+ei+4);
|
cs.erase (cs.begin()+si, cs.begin()+ei+rightTofind);
|
||||||
cs.insert(cs.begin()+si, inner.cs.begin(), inner.cs.end());
|
cs.insert(cs.begin()+si, inner.cs.begin(), inner.cs.end());
|
||||||
rebuildSize();
|
rebuildSize();
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user