Patched a bug in deepCopyRefString()

This commit is contained in:
2022-11-26 21:33:02 +00:00
parent fb55f42d0e
commit c1625c53f4
2 changed files with 4 additions and 7 deletions

View File

@@ -57,17 +57,14 @@ int lengthRefString(RefString* refString) {
} }
RefString* copyRefString(RefString* refString) { RefString* copyRefString(RefString* refString) {
//Cheaty McCheater Face
refString->refcount++; refString->refcount++;
return refString; return refString;
} }
RefString* deepCopyRefString(RefString* refString) { RefString* deepCopyRefString(RefString* refString) {
//deep copy, which can be modified immediately //create a new string, with a new refcount
RefString* newRefString = (RefString*)allocate(NULL, 0, sizeof(int) * 2 + refString->length + 1); return createRefStringLength(refString->data, refString->length);
memcpy(newRefString, refString, refString->length + 1);
return newRefString;
} }
char* toCString(RefString* refString) { char* toCString(RefString* refString) {

View File

@@ -6,7 +6,7 @@
#define TOY_VERSION_MAJOR 0 #define TOY_VERSION_MAJOR 0
#define TOY_VERSION_MINOR 6 #define TOY_VERSION_MINOR 6
#define TOY_VERSION_PATCH 3 #define TOY_VERSION_PATCH 4
#define TOY_VERSION_BUILD __DATE__ " " __TIME__ #define TOY_VERSION_BUILD __DATE__ " " __TIME__
//platform exports/imports //platform exports/imports