Copied from old documentation. Removed all Gedcom_val details.
[gedcom-parse.git] / gedcom / date.h
index ad7a23473fe849ff64f4704dab66fbe23de27dc0..5418254476bef6183df1e9ebc8786dd24e21f669 100644 (file)
 #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)