Autoarr_create and Autoarr_free signatures changed
This commit is contained in:
@@ -130,20 +130,19 @@ Maybe __ReadValue(DeserializeSharedData* shared);
|
||||
Maybe __ReadString(DeserializeSharedData* shared){
|
||||
char c;
|
||||
bool prevIsBackslash=false;
|
||||
StringBuilder _b=StringBuilder_create(STRB_BC,STRB_BL);
|
||||
StringBuilder* b=&_b;
|
||||
StringBuilder* b=StringBuilder_create(STRB_BC,STRB_BL);
|
||||
|
||||
while ((c=*++text)){
|
||||
if(c=='"') {
|
||||
if(prevIsBackslash) {
|
||||
// replacing <\"> with <">
|
||||
Autoarr_remove(b);
|
||||
StringBuilder_pop(b);
|
||||
StringBuilder_append_char(b,c);
|
||||
prevIsBackslash=false;
|
||||
}
|
||||
else {
|
||||
char* str=StringBuilder_build(b);
|
||||
Autoarr_clear(b);
|
||||
StringBuilder_free(b);
|
||||
return SUCCESS(UniPtr(CharPtr,str));
|
||||
}
|
||||
}
|
||||
@@ -153,18 +152,17 @@ Maybe __ReadString(DeserializeSharedData* shared){
|
||||
}
|
||||
}
|
||||
|
||||
safethrow(ERR_ENDOFSTR, Autoarr_clear(b));
|
||||
safethrow(ERR_ENDOFSTR, StringBuilder_free(b));
|
||||
}
|
||||
#define ReadString() __ReadString(shared)
|
||||
|
||||
Maybe __ReadList(DeserializeSharedData* shared){
|
||||
Autoarr(Unitype)* list=malloc(sizeof(Autoarr(Unitype)));
|
||||
*list=Autoarr_create(Unitype,ARR_BC,ARR_BL);
|
||||
Autoarr(Unitype)* list=Autoarr_create(Unitype,ARR_BC,ARR_BL);
|
||||
readingList=true;
|
||||
|
||||
while (true){
|
||||
try(ReadValue(), val,{
|
||||
Autoarr_clear(list);
|
||||
Autoarr_free_Unitype(list);
|
||||
free(list);
|
||||
})
|
||||
Autoarr_add(list,val.value);
|
||||
@@ -327,8 +325,7 @@ Maybe __deserialize(char** _text, bool _calledRecursively) {
|
||||
list=(Autoarr(Unitype)*)lu.VoidPtr;
|
||||
}
|
||||
else{
|
||||
list=malloc(sizeof(Autoarr(Unitype)));
|
||||
*list=Autoarr_create(Unitype,ARR_BC,ARR_BL);
|
||||
list=Autoarr_create(Unitype,ARR_BC,ARR_BL);
|
||||
Hashtable_add(dict,nameCPtr,UniPtr(AutoarrUnitypePtr,list));
|
||||
}
|
||||
Autoarr_add(list,val.value);
|
||||
|
||||
@@ -53,8 +53,8 @@ EXPORT void CALL kerep_DtsodV24_height(Hashtable* dtsod, uint16* heigth){
|
||||
*heigth=Hashtable_height(dtsod);
|
||||
}
|
||||
|
||||
EXPORT void CALL kerep_DtsodV24_getrow(Hashtable* dtsod, uint16 h, Autoarr_KeyValuePair** row){
|
||||
*row=dtsod->rows+h;
|
||||
EXPORT void CALL kerep_DtsodV24_getrow(Hashtable* dtsod, uint16 h, Autoarr_KVPair** row){
|
||||
*row=dtsod->rows[h];
|
||||
}
|
||||
|
||||
#if __cplusplus
|
||||
|
||||
@@ -64,7 +64,7 @@ Maybe __AppendValue(SerializeSharedData* shared, Unitype u){
|
||||
try(AppendValue(e),__,;);
|
||||
addc(',');
|
||||
}));
|
||||
Autoarr_remove(b);
|
||||
StringBuilder_pop(b);
|
||||
addc('\n');
|
||||
tabs--;
|
||||
AppendTabs();
|
||||
@@ -106,9 +106,9 @@ Maybe __serialize(StringBuilder* _b, uint8 _tabs, Hashtable* dtsod){
|
||||
}
|
||||
|
||||
Maybe DtsodV24_serialize(Hashtable* dtsod){
|
||||
StringBuilder sb=StringBuilder_create(STRB_BC,STRB_BL);
|
||||
try(__serialize(&sb,0,dtsod),__, Autoarr_clear((&sb)));
|
||||
char* str=StringBuilder_build(&sb);
|
||||
Autoarr_clear((&sb));
|
||||
StringBuilder* sb=StringBuilder_create(STRB_BC,STRB_BL);
|
||||
try(__serialize(sb,0,dtsod),__, StringBuilder_free((sb)));
|
||||
char* str=StringBuilder_build(sb);
|
||||
StringBuilder_free((sb));
|
||||
return SUCCESS(UniPtr(CharPtr, str));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user