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);
+ 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 */