Refactor: macro constants -> config.h
This commit is contained in:
39
include/config.h
Normal file
39
include/config.h
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
#ifndef _CONFIG_H
|
||||
#define _CONFIG_H
|
||||
|
||||
/*
|
||||
Number of elements in a hashmap
|
||||
|
||||
Hashmaps are implemented as an array
|
||||
of linked lists. This specifies the
|
||||
length of the initial array.
|
||||
*/
|
||||
#define OBJ_SIZE 32
|
||||
|
||||
/*
|
||||
Length of surrounding context to print
|
||||
on parser errors.
|
||||
|
||||
Upon parser errors (e.g. syntax errors
|
||||
in the JSON file), the program outputs
|
||||
the surrounding context of the error.
|
||||
E.g:
|
||||
| Expected ':' at index 123
|
||||
| context:
|
||||
| \n\t\t{ "foo" "bar" },\n\t
|
||||
| ^
|
||||
In the above example, ERROR_CONTEXT_LEN
|
||||
is set to 20.
|
||||
*/
|
||||
#define ERROR_CONTEXT_LEN 60
|
||||
|
||||
/*
|
||||
Error codes
|
||||
EARLY_EOF - End of file unexpectedly reached
|
||||
UNEXPECTED_CHAR - Unexpected character encountered
|
||||
*/
|
||||
#define EARLY_EOF 202
|
||||
#define UNEXPECTED_CHAR 200
|
||||
|
||||
#endif
|
||||
@@ -2,10 +2,9 @@
|
||||
#ifndef _JSON_VALUE_H
|
||||
#define _JSON_VALUE_H
|
||||
|
||||
#include "config.h"
|
||||
#include <stdbool.h> // bool
|
||||
|
||||
#define OBJ_SIZE 32
|
||||
|
||||
typedef struct obj_entry {
|
||||
char const* key;
|
||||
struct json_value* val;
|
||||
|
||||
@@ -18,7 +18,7 @@ int main(int argc, char* argv[])
|
||||
|
||||
struct json_value x = parse_json_value(fp);
|
||||
|
||||
// print_json(x, 1);
|
||||
print_json(x, 1);
|
||||
|
||||
json_value_delete(x);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
#include "parse.h"
|
||||
|
||||
#include "config.h"
|
||||
#include "json_value.h"
|
||||
#include "util.h"
|
||||
|
||||
@@ -10,10 +11,6 @@
|
||||
#include <stdlib.h> // exit, EXIT_SUCCESS, EXIT_FAILURE
|
||||
#include <string.h> // strcmp
|
||||
|
||||
#define EARLY_EOF 202
|
||||
#define MALLOC_DIE 201
|
||||
#define UNEXPECTED_CHAR 200
|
||||
|
||||
char* read_string(FILE* fp);
|
||||
obj_t* read_object(FILE* fp);
|
||||
void discard_whitespace(FILE* fp);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
#include "util.h"
|
||||
#include "config.h"
|
||||
|
||||
#include <err.h> // err
|
||||
#include <errno.h> // errno
|
||||
@@ -8,8 +9,6 @@
|
||||
#include <stdio.h> // fprintf
|
||||
#include <stdlib.h> // malloc, realloc, calloc
|
||||
|
||||
#define ERROR_CONTEXT_LEN 80
|
||||
|
||||
void* malloc_or_die(size_t size)
|
||||
{
|
||||
void* result = malloc(size);
|
||||
|
||||
Reference in New Issue
Block a user