dlugolecki.net.pl
Dziennik
Polecane
Software
projects
/
gedcom-parse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Call init function for the lexer.
[gedcom-parse.git]
/
gedcom
/
gedcom_lex_common.c
diff --git
a/gedcom/gedcom_lex_common.c
b/gedcom/gedcom_lex_common.c
index 0a01f150596f26e2666b6237b17c92613edfb1a8..045cea22d3ba46e2bb3c64500efafe5c784263d1 100644
(file)
--- a/
gedcom/gedcom_lex_common.c
+++ b/
gedcom/gedcom_lex_common.c
@@
-51,7
+51,7
@@
void message_handler(Gedcom_msg_type type, char *msg)
fprintf(stderr, "(%d) %s\n", type, msg);
}
fprintf(stderr, "(%d) %s\n", type, msg);
}
-int test_loop(ENCODING enc, char* code)
+int test_loop(ENCODING enc, c
onst c
har* code)
{
int tok, res;
init_encodings();
{
int tok, res;
init_encodings();
@@
-109,18
+109,18
@@
static void error_level_too_high(int level_diff)
level_diff);
}
level_diff);
}
-static void error_tag_too_long(char *tag)
+static void error_tag_too_long(c
onst c
har *tag)
{
gedcom_error(_("Tag '%s' too long, max %d characters allowed"),
tag, MAXGEDCTAGLEN);
}
{
gedcom_error(_("Tag '%s' too long, max %d characters allowed"),
tag, MAXGEDCTAGLEN);
}
-static void error_invalid_character(char *str, char ch)
+static void error_invalid_character(c
onst c
har *str, char ch)
{
gedcom_error(_("Invalid character for encoding: '%s' (0x%02x)"), str, ch);
}
{
gedcom_error(_("Invalid character for encoding: '%s' (0x%02x)"), str, ch);
}
-static void error_pointer_too_long(char *ptr)
+static void error_pointer_too_long(c
onst c
har *ptr)
{
gedcom_error(_("Pointer '%s' too long, max %d characters allowed"),
ptr, MAXGEDCPTRLEN);
{
gedcom_error(_("Pointer '%s' too long, max %d characters allowed"),
ptr, MAXGEDCPTRLEN);
@@
-131,11
+131,18
@@
static void error_at_character()
gedcom_error(_("'@' character should be written as '@@' in values"));
}
gedcom_error(_("'@' character should be written as '@@' in values"));
}
-static void error_unexpected_character(char* str, char ch)
+static void error_unexpected_character(c
onst c
har* str, char ch)
{
gedcom_error(_("Unexpected character: '%s' (0x%02x)"), str, ch);
}
{
gedcom_error(_("Unexpected character: '%s' (0x%02x)"), str, ch);
}
+static void yylex_cleanup()
+{
+ /* fix memory leak in lex */
+ yy_delete_buffer(yy_current_buffer);
+ yy_current_buffer = NULL;
+}
+
#else /* of #ifndef IN_LEX */
#define TO_INTERNAL(STR,OUTBUF) \
#else /* of #ifndef IN_LEX */
#define TO_INTERNAL(STR,OUTBUF) \