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
|
#ifndef _JSON_VALUE_H
|
||||||
#define _JSON_VALUE_H
|
#define _JSON_VALUE_H
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
#include <stdbool.h> // bool
|
#include <stdbool.h> // bool
|
||||||
|
|
||||||
#define OBJ_SIZE 32
|
|
||||||
|
|
||||||
typedef struct obj_entry {
|
typedef struct obj_entry {
|
||||||
char const* key;
|
char const* key;
|
||||||
struct json_value* val;
|
struct json_value* val;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
struct json_value x = parse_json_value(fp);
|
struct json_value x = parse_json_value(fp);
|
||||||
|
|
||||||
// print_json(x, 1);
|
print_json(x, 1);
|
||||||
|
|
||||||
json_value_delete(x);
|
json_value_delete(x);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
#include "parse.h"
|
#include "parse.h"
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
#include "json_value.h"
|
#include "json_value.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
@@ -10,10 +11,6 @@
|
|||||||
#include <stdlib.h> // exit, EXIT_SUCCESS, EXIT_FAILURE
|
#include <stdlib.h> // exit, EXIT_SUCCESS, EXIT_FAILURE
|
||||||
#include <string.h> // strcmp
|
#include <string.h> // strcmp
|
||||||
|
|
||||||
#define EARLY_EOF 202
|
|
||||||
#define MALLOC_DIE 201
|
|
||||||
#define UNEXPECTED_CHAR 200
|
|
||||||
|
|
||||||
char* read_string(FILE* fp);
|
char* read_string(FILE* fp);
|
||||||
obj_t* read_object(FILE* fp);
|
obj_t* read_object(FILE* fp);
|
||||||
void discard_whitespace(FILE* fp);
|
void discard_whitespace(FILE* fp);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
#include <err.h> // err
|
#include <err.h> // err
|
||||||
#include <errno.h> // errno
|
#include <errno.h> // errno
|
||||||
@@ -8,8 +9,6 @@
|
|||||||
#include <stdio.h> // fprintf
|
#include <stdio.h> // fprintf
|
||||||
#include <stdlib.h> // malloc, realloc, calloc
|
#include <stdlib.h> // malloc, realloc, calloc
|
||||||
|
|
||||||
#define ERROR_CONTEXT_LEN 80
|
|
||||||
|
|
||||||
void* malloc_or_die(size_t size)
|
void* malloc_or_die(size_t size)
|
||||||
{
|
{
|
||||||
void* result = malloc(size);
|
void* result = malloc(size);
|
||||||
|
|||||||
Reference in New Issue
Block a user