Reworked compatibility computation to take program version into account.
[gedcom-parse.git] / gedcom / date.h
index 3db5829c034d5c2738367caac06a399c7286a170..ccf5a7fb3963fa1c33c26ee648101ca1cf1711be 100644 (file)
 extern struct date_value dv_s;
 extern struct date date_s;
 extern struct date def_date;
+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 */