Use general UTF-8 conversion in libutf8 for to_internal.
[gedcom-parse.git] / gedcom / gedcom_hilo.lex
index a5216bb7561343014e8a648a81844722c27c411a..91735f1e1c7eb6600463cee60d4f727b9cf0db6d 100644 (file)
@@ -25,7 +25,8 @@
 /* i.e. this is utf-16-be */
 
 %{
-#undef IN_LEX    /* include only a specific part of the following file */
+#define LEX_SECTION 1  /* include only a specific part of the following file */
+#define yymyinit gedcom_hilo_myinit
 #include "gedcom_lex_common.c"
   
 static size_t encoding_width = 2;
@@ -51,12 +52,13 @@ alphanum     {alpha}|{digit}
 gen_delim    {delim}|{tab}
 
 escape       \x00@\x00#{any_char}+\x00@
-pointer      \x00@{alphanum}{non_at}+\x00@
+pointer      \x00@{alphanum}{non_at}*\x00@
 
 %%
 
 %{
-#define IN_LEX    /* include only a specific part of the following file */
+#undef LEX_SECTION
+#define LEX_SECTION 2  /* include only a specific part of the following file */
 #include "gedcom_lex_common.c"
 
 ACTION_BEFORE_REGEXPS
@@ -218,15 +220,9 @@ ACTION_BEFORE_REGEXPS
 .                        ACTION_UNEXPECTED
 
 %%
-
-static int exitfuncregistered = 0;
-
-int yywrap()
-{
-  if (! exitfuncregistered && atexit(yylex_cleanup) == 0)
-    atexit(yylex_cleanup);
-  return 1;
-}
+#undef LEX_SECTION
+#define LEX_SECTION 3  /* include only a specific part of the following file */
+#include "gedcom_lex_common.c"
 
 #ifdef LEXER_TEST
 int gedcom_lex()