diff options
| author | Mustafa Quraish <[email protected]> | 2022-01-30 01:19:54 -0500 |
|---|---|---|
| committer | Mustafa Quraish <[email protected]> | 2022-01-30 01:19:54 -0500 |
| commit | 5b87ec6ef2b84f1d319e5376bcf9eedea9829d79 (patch) | |
| tree | f1afa80f034a1cd73192510046978435252e1160 /src/utils.c | |
| parent | Remove return-0 example (diff) | |
| download | cup-5b87ec6ef2b84f1d319e5376bcf9eedea9829d79.tar.xz cup-5b87ec6ef2b84f1d319e5376bcf9eedea9829d79.zip | |
Rename `cup` directory to `src`
Diffstat (limited to 'src/utils.c')
| -rw-r--r-- | src/utils.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c new file mode 100644 index 0000000..2335981 --- /dev/null +++ b/src/utils.c @@ -0,0 +1,30 @@ +#include "utils.h" + +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> + +void die(const char *fmt, ...) +{ + va_list args; + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); + exit(1); +} + +void _die_location(char *file, int line, Location loc, const char *fmt, ...) +{ + Location_print(stderr, loc); + fprintf(stderr, ": "); + va_list args; + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); + fprintf(stderr, "\n"); + fprintf(stderr, "NOTE: Error occurred in %s:%d\n", file, line); + exit(1); +} + +i64 i64max(i64 a, i64 b) { return a > b ? a : b; } +i64 i64min(i64 a, i64 b) { return a < b ? a : b; }
\ No newline at end of file |