aboutsummaryrefslogtreecommitdiff
path: root/src/parse.c
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-12-30 21:53:01 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-12-30 21:53:01 +0100
commitdd3da75c8d9da1f589ac6dded6140a4dc8d4b93f (patch)
treebe8534d2b8b1688e313a9703115721cdd12e0a3d /src/parse.c
parenta454f9e1f2b09d4799e8ac3c4a4eb62bbba7b823 (diff)
downloaduwu-lang-dd3da75c8d9da1f589ac6dded6140a4dc8d4b93f.tar.xz
Unify error messages and checking
Diffstat (limited to 'src/parse.c')
-rw-r--r--src/parse.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/parse.c b/src/parse.c
index ed09de9..e8f1d38 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -285,7 +285,7 @@ AbstractSyntaxTree parse_file(const char *filename)
FILE *f = fopen(filename, "r");
if (! f)
- error("%s: unable to open\n", filename);
+ syserror("fopen", f);
#if DEBUG
printf("[File %s]\n[Line %d]\n", filename, lines);
@@ -298,7 +298,7 @@ AbstractSyntaxTree parse_file(const char *filename)
break;
if (ferror(f))
- error("%s: I/O error\n", filename);
+ syserror("getc", f);
if (c == '\n')
++lines;
@@ -309,11 +309,11 @@ AbstractSyntaxTree parse_file(const char *filename)
#endif
if (! parse_character(&state, c))
- error("%s: syntax error in line %d\n", filename, lines);
+ error("syntax error: in file %s, line %d\n", filename, lines);
}
if (state.buffer || state.expression)
- error("%s: syntax error at end of file\n", filename);
+ error("syntax error: at end of file %s\n", filename);
fclose(f);