removed Unitype.Char

This commit is contained in:
Timerix22 2022-04-08 13:24:55 +03:00
parent 9d336fd46c
commit 07c5a0ce69
5 changed files with 7 additions and 20 deletions

View File

@ -10,8 +10,9 @@ Maybe ERROR_WRONGCHAR(char c, char* text){
char errBuf[]="unexpected <c> at:\n \""
"00000000000000000000000000000000\"";
errBuf[12]=c;
for(uint8 i=22; i<32; i++)
errBuf[i]=*(text - 16 + i);
for(uint8 i=0; i<32; i++)
// writes 16 chars before and 15 after the wrongchar
errBuf[i+22]=*(text - 16 + i);
safethrow(cptr_copy(errBuf));
}
#define safethrow_wrongchar(C) return ERROR_WRONGCHAR(C, text)
@ -53,7 +54,7 @@ Maybe __ReadName(DeserializeSharedData* shared){
case '{':
safethrow_wrongchar(c);
break;
case '#':
case '#': ;
try(SkipComment(),_);
if(nameStr.length!=0)
safethrow_wrongchar(c);
@ -198,6 +199,7 @@ Maybe __ReadValue(DeserializeSharedData* shared){
break;
case '=': case ':':
case '}': case '$':
case '\'':
safethrow_wrongchar(c);
break;
case '#':;
@ -211,13 +213,7 @@ Maybe __ReadValue(DeserializeSharedData* shared){
if(valueStr.length!=0) safethrow_wrongchar(c);
try(ReadString(),maybeString)
value=maybeString.value;
break;
case '\'':
if(valueStr.length!=0) safethrow_wrongchar(c);
char valueChar=*++text;
if (*++text != '\'') safethrow("after <'> should be char");
value=Uni(Char,valueChar);
break;
break;
case '[':
if(valueStr.length!=0) safethrow_wrongchar(c);
try(ReadList(),maybeList)

View File

@ -47,11 +47,6 @@ void __AppendValue(SerializeSharedData* shared, Unitype u){
}
addc('"');
break;
case Char:
addc('\'');
addc(u.Char);
addc('\'');
break;
case Bool:
StringBuilder_append_cptr(b, u.Bool ? "true" : "false");
break;

View File

@ -121,7 +121,6 @@ void sprintuni(char* buf,Unitype v){
switch (v.type) {
case Null: sprintf_s(buf, SPRINT_BUFSIZE, "{Null}");break;
case Float64: sprintf_s(buf, SPRINT_BUFSIZE, "{%s : %lf}", my_type_name(v.type),v.Float64);break;
case Char: sprintf_s(buf, SPRINT_BUFSIZE, "{%s : '%c'}", my_type_name(v.type),v.Char);break;
case Bool:
case UInt64: sprintf_s(buf, SPRINT_BUFSIZE, "{%s : %lu}", my_type_name(v.type),v.UInt64);break;
case Int64: sprintf_s(buf, SPRINT_BUFSIZE, "{%s : %ld}", my_type_name(v.type),v.Int64);break;
@ -131,7 +130,6 @@ void sprintuni(char* buf,Unitype v){
switch (v.type) {
case Null: sprintf(buf, "{Null}");break;
case Float64: sprintf(buf, "{%s : %lf}", my_type_name(v.type),v.Float64);break;
case Char: sprintf(buf, "{%s : '%c'}", my_type_name(v.type),v.Char);break;
case Bool:
case UInt64: sprintf(buf, "{%s : %lu}", my_type_name(v.type),v.UInt64);break;
case Int64: sprintf(buf, "{%s : %ld}", my_type_name(v.type),v.Int64);break;

View File

@ -34,7 +34,6 @@ typedef struct Unitype{
int64 Int64;
uint64 UInt64;
double Float64;
char Char;
bool Bool;
void* VoidPtr;
};

View File

@ -4,12 +4,11 @@
const char text[]=
"message: {\n"
" bool: false;"
" char: 'v';"
" int: -2515;"
" uint:#comment!\n 0u;"
" double: 965.557f;#another comment!\n"
" text: \"_$\\\"\\\\'''a ыыы000;2;=:%d;```\";\n"
"}; ";
"};";
void print_dtsod(Hashtable* dtsod){
printf("\e[92m");