X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fdate.h;h=5418254476bef6183df1e9ebc8786dd24e21f669;hb=HEAD;hp=430fe7b24c1a94188a71458caf2ffa5a3bb79ab2;hpb=2fb61a5d3ffec21d16adfa03a89f01cd8235ccae;p=gedcom-parse.git diff --git a/gedcom/date.h b/gedcom/date.h index 430fe7b..5418254 100644 --- a/gedcom/date.h +++ b/gedcom/date.h @@ -28,23 +28,33 @@ #include "gedcom_internal.h" #include "gedcom.h" -#define gedcom_date_error gedcom_error +#define gedcom_date_error gedcom_warning #define MAX_DATE_TOKEN 10 extern struct date_value dv_s; extern struct date date_s; extern struct date def_date; -extern char* curr_line_value; +extern const char* curr_line_value; int gedcom_date_parse(); int gedcom_date_lex(); +int get_date_token(const char* input); +int get_year_tokens(const char* str, char** year1, char** year2); + +int get_day_num(const char* input); +int get_month_num(Calendar_type cal, const char* input); +int get_year_num(const char* input, Year_type* ytype); + /* These are defined in gedcom_date.lex */ -void init_gedcom_date_lex(char* string); +void init_gedcom_date_lex(const char* string); void close_gedcom_date_lex(); -struct date_value make_date_value(Date_value_type t, struct date d1, - struct date d2, char* p); -void copy_date(struct date *to, struct date from); +struct date_value* make_date_value(Date_value_type t, struct date *d1, + struct date *d2, const char* p); +void copy_date(struct date *to, struct date *from); + +#define GEDCOM_MAKE_DATE(VAR, DATE) \ + GEDCOM_MAKE(VAR, DATE, GV_DATE_VALUE, date_val) #endif /* __DATE_H */