From c42c2834d8c7b5d81465b9d9d127d8384151b9cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 19 Jan 2019 19:06:09 +0100 Subject: [BROKEN] Work on adding hash tables. --- parse.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 parse.h (limited to 'parse.h') diff --git a/parse.h b/parse.h new file mode 100644 index 00000000..cb6c2d1e --- /dev/null +++ b/parse.h @@ -0,0 +1,41 @@ +#ifndef PARSE_H +#define PARSE_H + +#define SAFE_STR + +#include +#include + +#include "strbuf.h" +#include "vcal.h" + +/* + * Max length of a line. + * TODO update this to allow longer lines, in case someone doesn't + * follow the standard. + */ +#define SEGSIZE 75 + +#define ERR(x, line) fprintf(stderr, "ERR %i: %s (cal %i)\n", __LINE__, (x), (line)); + +#define LINE(nr, key, value) fprintf(stderr, "(%i) %i: [%s] := [%s]\n", __LINE__, nr, key, value); + +typedef enum { + p_key, p_value, p_param_name, p_param_value +} part_context; + +typedef enum { + s_none, s_calendar, s_event +} scope_context; + +int handle_kv( + vcalendar* cal, + vevent* ev, + content_line* cline, + int line, + scope_context* s_ctx + ); + +int parse_file(FILE* f, vcalendar* cal); + +#endif /* PARSE_H */ -- cgit v1.2.3