Try to be less strict about whitespace in files
This commit is contained in:
parent
b5648963a7
commit
99fc088d3e
|
@ -557,25 +557,28 @@ Object parseEval(const char *input, struct Environment *env)
|
|||
}
|
||||
|
||||
#ifdef STANDALONE
|
||||
int read_file(const char *filename, struct Environment *env) {
|
||||
int readFile(const char *filename, struct Environment *env) {
|
||||
FILE *input = fopen(filename, "r");
|
||||
if(!input) {
|
||||
return 1;
|
||||
}
|
||||
Object r = numberObject(0);
|
||||
char buf[256];
|
||||
if(fgets(buf, 256, input)){
|
||||
if(buf[0] != '#' || buf[1] != '!') {
|
||||
r = parseEval(buf, env);
|
||||
printAndClean(&r);
|
||||
char page[4096] = "";
|
||||
char line[256];
|
||||
if(fgets(line, 256, input)){
|
||||
if(line[0] != '#' || line[1] != '!') {
|
||||
strncat(page, line, strlen(line) - 1);
|
||||
}
|
||||
}
|
||||
while(fgets(buf, 256, input)) {
|
||||
if(buf[0] != ';') {
|
||||
r = parseEval(buf, env);
|
||||
printAndClean(&r);
|
||||
while(fgets(line, 256, input)) {
|
||||
if(line[0] != ';') {
|
||||
strncat(page, line, strlen(line) - 1);
|
||||
}
|
||||
}
|
||||
|
||||
r = parseEval(page, env);
|
||||
printAndClean(&r);
|
||||
|
||||
fclose(input);
|
||||
return 0;
|
||||
}
|
||||
|
@ -595,7 +598,7 @@ int main(int argc, const char* argv[])
|
|||
{
|
||||
struct Environment env = defaultEnv();
|
||||
if(argc >= 2) {
|
||||
if(read_file(argv[1], &env) != 0) {
|
||||
if(readFile(argv[1], &env) != 0) {
|
||||
Object r = numberObject(0);
|
||||
for(int i = 1; i < argc; i++) {
|
||||
r = parseEval(argv[i], &env);
|
||||
|
|
Loading…
Reference in New Issue