more serious work on JString.

This commit is contained in:
barant committed 2024-12-12 12:22:46 -08:00
1 parent c6e0486c14
commit 0d60cce8dc
8 files changed
+49 -45

No files matched your search

+8 -9
View File
@@ -210,19 +210,19 @@ namespace coreutils {
data[offset] = ch;
}
void MString::insert(ZString &value, int offset) {
void MString::insert(ZString value, int offset) {
setSize(length + value.getLength());
for (int ix = length; ix >= offset; ix--)
getData()[ix + value.getLength()] = getData()[ix];
getData()[ix] = getData()[ix - value.getLength()];
std::memcpy(data + offset, value.getData(), value.getLength());
}
void MString::insert(std::string value, int offset) {
setSize(length + value.size());
for (int ix = length; ix >= offset; ix--)
getData()[ix + value.size()] = getData()[ix];
std::memcpy(data + offset, value.c_str(), value.size());
}
// void MString::insert(std::string value, int offset) {
// setSize(length + value.size());
// for (int ix = length; ix >= offset; ix--)
// getData()[ix + value.size()] = getData()[ix];
// std::memcpy(data + offset, value.c_str(), value.size());
// }
void MString::replace(char ch, int offset) {
}
@@ -258,7 +258,6 @@ namespace coreutils {
int newBufferSize = ((size / 256) + 1) * 256;
if (bufferSize != newBufferSize) {
bufferSize = newBufferSize;
std::cout << "Adjusting storage size to " << bufferSize << " to accomodate " << size << "bytes." << std::endl;
data = (char *)realloc(data, bufferSize);
cursor = data + cursorOffset;
}