Add init function for the lexer.
[gedcom-parse.git] / gedcom / gedcom.y
index 8159d81a4d63ff7270ec5b4502a926562760a445..43811029a08739c5864e784fd103ae741cf3856f 100644 (file)
@@ -162,7 +162,7 @@ char *line_item_buf_ptr;
 
 /* These are defined at the bottom of the file */ 
 void push_countarray();
-void set_parenttag(char* tag);
+void set_parenttag(const char* tag);
 char* get_parenttag(int offset); 
 void set_parentctxt(Gedcom_ctxt ctxt);
 Gedcom_ctxt get_parentctxt(int offset);
@@ -664,9 +664,9 @@ head_date_time_sect : OPEN DELIM TAG_TIME mand_line_item
 
 /* HEAD.TIME (Only for 'Lifelines' compatibility) */
 /* Just ignore the time... */
-head_time_sect : OPEN DELIM TAG_TIME opt_line_item
-                 { }
-                 CLOSE
+head_time_sect : OPEN DELIM TAG_TIME opt_line_item CLOSE
+                 { gedcom_warning(_("Header change time lost in the compatibility"));
+                 }
               ;
 
 /* HEAD.SUBM */
@@ -2015,7 +2015,7 @@ assoc_struc_sub : asso_sect /* 0:M */
 
 asso_sect : OPEN DELIM TAG_ASSO mand_pointer
             { struct xref_value *xr = gedcom_parse_xref($4, XREF_USED,
-                                                       XREF_INDI);
+                                                       XREF_ANY);
              if (xr == NULL) HANDLE_ERROR;
              $<ctxt>$ = start_element(ELT_SUB_ASSO,
                                       PARENT, $1, $3, $4, 
@@ -3816,7 +3816,7 @@ void push_countarray()
   }
 }
 
-void set_parenttag(char* tag)
+void set_parenttag(const char* tag)
 {
   strncpy(tag_stack[count_level+1], tag, MAXSTDTAGLEN+1);
 }
@@ -3884,7 +3884,7 @@ void gedcom_set_debug_level(int level, FILE* f)
   }
 }
 
-int gedcom_debug_print(char* s, ...)
+int gedcom_debug_print(const char* s, ...)
 {
   int res = 0;
   if (gedcom_high_level_debug) {