added userdata void * for parser tag function callback

This commit is contained in:
herbglitch 2024-11-20 13:50:52 -07:00
parent 606f8e4bad
commit fcc07493d3
4 changed files with 25 additions and 21 deletions

View file

@ -21,7 +21,7 @@ void TEST_ParserLanguageTag_DestroyStringFn(void *data){
}
//for this very basic example, the tagId does not matter
void TEST_ParserLanguageTag_AddFirstCharFn(void **data, uint32_t tagId, ARC_LexerToken *token){
void TEST_ParserLanguageTag_AddFirstCharFn(void **data, uint32_t tagId, ARC_LexerToken *token, void *userData){
if(*data == NULL){
return;
}
@ -34,7 +34,7 @@ void TEST_ParserLanguageTag_AddFirstCharFn(void **data, uint32_t tagId, ARC_Lexe
}
//for this very basic example, the tagId does not matter
void TEST_ParserLanguageTag_AddCharFn(void **data, uint32_t tagId, ARC_LexerToken *token){
void TEST_ParserLanguageTag_AddCharFn(void **data, uint32_t tagId, ARC_LexerToken *token, void *userData){
if(*data == NULL){
return;
}
@ -58,19 +58,22 @@ ARC_ParserLanguageTag testTags[3] = {
VARIABLE, //tagId
variableTokensOrTags, //tokensOrTags
1, //tokenOrTagsSize
&addFirstCharFn //addDataFn
&addFirstCharFn, //addDataFn
NULL //addUserData
},
{
VARIABLE_NAME, //tagId
variableNameTags, //tokensOrTags
2, //tokenOrTagsSize
NULL, //addDataFn
NULL, //addDataFn
NULL //addUserData
},
{
CHAR_OR_NUM, //tagId
charOrNumTokens, //tokensOrTags
2, //tokenOrTagsSize
&addCharFn //addDataFn
&addCharFn, //addDataFn
NULL //addUserData
}
};
@ -111,10 +114,10 @@ ARC_TEST(Parser_Basic_Parse){
/* ~ second test ~ */
ARC_String_CreateWithStrlen(&tempString, "z1xwvq");
//this destroys string, so no need for cleanup
ARC_Parser_Parse(parser, &tempString);
ARC_CHECK(arc_errno == 0);