Worked on ZString, MString and JString

This commit is contained in:
Brad Arant committed 2023-10-05 17:57:01 -07:00
1 parent b873bbf164
commit 8a9c1c3bd7
14 files changed
+146 -42

No files matched your search

+37 -4
View File
@@ -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;