add config.h and cleanup

This commit is contained in:
vrd
2023-03-06 22:26:31 +02:00
parent 9ef74b8283
commit 35d9d44aa6
10 changed files with 84 additions and 288 deletions
+17 -29
View File
@@ -4,8 +4,10 @@
#include "tree.hpp"
#include "utils.hpp"
/* macro rather then function to avoid warnings */
#define UNEXPECTED_END() endwin(); cerr << "Unexpected end of file" << std::endl; exit(1)
/* macros rather then function to avoid warnings */
#define UNEXPECTED_END() { endwin(); cerr << "Unexpected end of file" << std::endl; exit(1); }
#define UNEXPECTED_CHAR(c) { endwin(); cerr << "Line " << line << ": Unexpected '" << c << std::endl; exit(1); }
using std::cerr;
/* using std::string_view; */
@@ -47,20 +49,6 @@ namespace /* internal */
return c >= '0' && c <= '9';
}
void unexpected_char(char c)
{
endwin();
cerr << "Line " << line << ": Unexpected '" << c << std::endl;
exit(1);
}
/* void unexpected_end() */
/* { */
/* endwin(); */
/* cerr << "Unexpected end of file" << std::endl; */
/* exit(1); */
/* } */
void proceedToNameEnd(char*& it_data)
{
while(it_data < end_data &&
@@ -69,7 +57,7 @@ namespace /* internal */
!isNum(*it_data))
{
if(*it_data == ':' /* && *it_data == '-' */)
unexpected_char(*it_data);
UNEXPECTED_CHAR(*it_data);
++it_data;
}
@@ -97,11 +85,11 @@ namespace /* internal */
else if(*it_data == 'F')
res = F;
else
unexpected_char(*it_data);
UNEXPECTED_CHAR(*it_data);
++it_data;
if(*it_data != '\n')
unexpected_char(*it_data);
UNEXPECTED_CHAR(*it_data);
}
return res;
}
@@ -122,7 +110,7 @@ namespace /* internal */
break;
case '.':
if(val == 0)
unexpected_char('.');
UNEXPECTED_CHAR('.')
else
return sign * val;
break;
@@ -131,10 +119,10 @@ namespace /* internal */
return sign * val;
/* case '?': todo */
default:
unexpected_char(*it_data);
UNEXPECTED_CHAR(*it_data)
}
}
UNEXPECTED_END();
UNEXPECTED_END()
}
EventTime processDate(char*& it_data) /* todo validate */
@@ -178,7 +166,7 @@ namespace /* internal */
if(name.empty() && res.first == Nobody)
return prev_parents;
else
unexpected_char('-');
UNEXPECTED_CHAR('-')
case '\n':
++line;
if(res.first == Nobody)
@@ -196,7 +184,7 @@ namespace /* internal */
name.push_back(*it_data);
}
}
UNEXPECTED_END();
UNEXPECTED_END()
}
vector<person_id> parseSpouses(char*& it_data)
@@ -212,7 +200,7 @@ namespace /* internal */
if(name.empty())
res.push_back( cur_tree->last() );
else
unexpected_char('-');
UNEXPECTED_CHAR('-')
break;
case ',':
if(!name.empty())
@@ -222,7 +210,7 @@ namespace /* internal */
same_name_index = 0;
}
else
unexpected_char(',');
UNEXPECTED_CHAR(',')
break;
case '\n':
++line;
@@ -260,7 +248,7 @@ namespace /* internal */
case '-':
case 0 ... 9:
case ':':
unexpected_char(*it_data);
UNEXPECTED_CHAR(*it_data)
}
}
}
@@ -317,7 +305,7 @@ namespace /* internal */
spouses = parseSpouses(it_data);
break;
default:
unexpected_char(it_data[-1]);
UNEXPECTED_CHAR(it_data[-1])
}
}
@@ -332,7 +320,7 @@ namespace /* internal */
break;
/* case 0...9: */
/* case ':': */
/* unexpected_char(*it_data); */
/* UNEXPECTED_CHAR(*it_data) */
/* default: */
/* break; */
}