%{
#include "gedcom.h"
#include "multilex.h"
+#include "encoding.h"
int count_level = 0;
int fail = 0;
/* HEAD.CHAR */
head_char_sect : OPEN DELIM TAG_CHAR mand_line_item
- { START(CHAR) }
+ { if (open_conv_to_internal($4) == 0) YYERROR;
+ START(CHAR) }
head_char_subs
{ CHECK0 }
CLOSE
| DELIM line_item { }
;
-line_item : anychar { int i;
+line_item : anychar { size_t i;
CLEAR_BUFFER(string_buf);
string_buf_ptr = string_buf;
/* The following also takes care of '@@' */
YYERROR;
}
else {
- int i;
+ size_t i;
/* The following also takes care of '@@' */
if (!strncmp($2, "@@", 3))
*string_buf_ptr++ = '@';