Skip to content

Commit

Permalink
Merge f3368ea into 8998341
Browse files Browse the repository at this point in the history
  • Loading branch information
mdavidsaver committed Dec 22, 2023
2 parents 8998341 + f3368ea commit 7c32f9f
Showing 1 changed file with 20 additions and 8 deletions.
28 changes: 20 additions & 8 deletions modules/database/src/ioc/dbtemplate/dbLoadTemplate.y
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,17 @@ static int var_count, sub_count;
int dbTemplateMaxVars = 100;
epicsExportAddress(int, dbTemplateMaxVars);

static
int msiLoadRecords(const char *fname, const char *subs)
{
int ret = dbLoadRecords(fname, subs);
if(ret) {
fprintf(stderr, "dbLoadRecords(\"%s\", %s)\n", fname, subs);
yyerror("Error while reading included file");
}
return ret;
}

%}

%start substitution_file
Expand Down Expand Up @@ -167,15 +178,15 @@ pattern_definition: global_definitions
fprintf(stderr, "pattern_definition: pattern_values empty\n");
fprintf(stderr, " dbLoadRecords(%s)\n", sub_collect+1);
#endif
dbLoadRecords(db_file_name, sub_collect+1);
if(msiLoadRecords(db_file_name, sub_collect+1)) YYABORT;
}
| O_BRACE pattern_values C_BRACE
{
#ifdef ERROR_STUFF
fprintf(stderr, "pattern_definition:\n");
fprintf(stderr, " dbLoadRecords(%s)\n", sub_collect+1);
#endif
dbLoadRecords(db_file_name, sub_collect+1);
if(msiLoadRecords(db_file_name, sub_collect+1)) YYABORT;
*sub_locals = '\0';
sub_count = 0;
}
Expand All @@ -190,7 +201,7 @@ pattern_definition: global_definitions
fprintf(stderr, "pattern_definition:\n");
fprintf(stderr, " dbLoadRecords(%s)\n", sub_collect+1);
#endif
dbLoadRecords(db_file_name, sub_collect+1);
if(msiLoadRecords(db_file_name, sub_collect+1)) YYABORT;
dbmfFree($1);
*sub_locals = '\0';
sub_count = 0;
Expand Down Expand Up @@ -250,15 +261,15 @@ variable_substitution: global_definitions
fprintf(stderr, "variable_substitution: variable_definitions empty\n");
fprintf(stderr, " dbLoadRecords(%s)\n", sub_collect+1);
#endif
dbLoadRecords(db_file_name, sub_collect+1);
if(msiLoadRecords(db_file_name, sub_collect+1)) YYABORT;
}
| O_BRACE variable_definitions C_BRACE
{
#ifdef ERROR_STUFF
fprintf(stderr, "variable_substitution:\n");
fprintf(stderr, " dbLoadRecords(%s)\n", sub_collect+1);
#endif
dbLoadRecords(db_file_name, sub_collect+1);
if(msiLoadRecords(db_file_name, sub_collect+1)) YYABORT;
*sub_locals = '\0';
}
| WORD O_BRACE variable_definitions C_BRACE
Expand All @@ -272,7 +283,7 @@ variable_substitution: global_definitions
fprintf(stderr, "variable_substitution:\n");
fprintf(stderr, " dbLoadRecords(%s)\n", sub_collect+1);
#endif
dbLoadRecords(db_file_name, sub_collect+1);
if(msiLoadRecords(db_file_name, sub_collect+1)) YYABORT;
dbmfFree($1);
*sub_locals = '\0';
}
Expand Down Expand Up @@ -328,6 +339,7 @@ int dbLoadTemplate(const char *sub_file, const char *cmd_collect)
{
FILE *fp;
int i;
int err;

line_num = 1;

Expand Down Expand Up @@ -377,7 +389,7 @@ int dbLoadTemplate(const char *sub_file, const char *cmd_collect)
yyrestart(fp);
}

yyparse();
err = yyparse();

for (i = 0; i < var_count; i++) {
dbmfFree(vars[i]);
Expand All @@ -390,5 +402,5 @@ int dbLoadTemplate(const char *sub_file, const char *cmd_collect)
dbmfFree(db_file_name);
db_file_name = NULL;
}
return 0;
return err;
}

0 comments on commit 7c32f9f

Please sign in to comment.