add config.h and cleanup
This commit is contained in:
+17
-29
@@ -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; */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user