Worked on ZString, MString and JString
This commit is contained in:
1 parent
b873bbf164
commit
8a9c1c3bd7
14 files changed
+146
-42
No files matched your search
+37
-4
@@ -36,8 +36,12 @@ namespace coreutils {
|
||||
|
||||
ZString::ZString(char *data, size_t length) : data(data), length(length), cursor(data) {}
|
||||
|
||||
ZString::ZString(unsigned char *data, size_t length) : data((char *)data), length(length), cursor((char *)data) {}
|
||||
|
||||
ZString::ZString(const char *data, size_t length) : data((char *)data), length(length), cursor((char *)data) {}
|
||||
|
||||
ZString::ZString(const unsigned char *data, size_t length) : data((char *)data), length(length), cursor((char *)data) {}
|
||||
|
||||
ZString::ZString(const ZString &zstring) {
|
||||
data = zstring.data;
|
||||
length = zstring.length;
|
||||
@@ -326,7 +330,25 @@ namespace coreutils {
|
||||
}
|
||||
return ZString(temp, tempend - temp);
|
||||
}
|
||||
|
||||
|
||||
int ZString::find(ZString comparator) {
|
||||
int count = 0;
|
||||
char *temp = cursor;
|
||||
char *temp2 = cursor;
|
||||
while(!ifNext(comparator)) {
|
||||
++count;
|
||||
++cursor;
|
||||
++temp2;
|
||||
if(cursor > (data + length)) {
|
||||
cursor = temp;
|
||||
count = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
cursor = temp2;
|
||||
return count;
|
||||
}
|
||||
|
||||
ZString ZString::readBlock(size_t size) {
|
||||
char *temp = cursor;
|
||||
cursor += size;
|
||||
@@ -356,7 +378,7 @@ namespace coreutils {
|
||||
length = zstring.getLength();
|
||||
cursor = data;
|
||||
}
|
||||
|
||||
|
||||
ZString ZString::parsed() {
|
||||
return ZString(data, cursor - data);
|
||||
}
|
||||
@@ -380,10 +402,21 @@ namespace coreutils {
|
||||
if (*(data + length - 1) == '\r')
|
||||
--length;
|
||||
if (cursor >= (data + length))
|
||||
cursor = data + length;
|
||||
cursor = data + length;
|
||||
return len != length;
|
||||
}
|
||||
|
||||
|
||||
bool ZString::boolValue() {
|
||||
if(this->equals("false"))
|
||||
return false;
|
||||
else if(this->equals("0"))
|
||||
return false;
|
||||
else if(this->equals(""))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void ZString::nextChar() {
|
||||
if(!eod())
|
||||
++cursor;
|
||||
|
||||
Reference in new issue
Block a user