tools/mksymtab: support for structure

This commit is contained in:
TAiGA 2024-09-05 11:24:44 +08:00 committed by Xiang Xiao
parent 7b05a550dc
commit cc0d4af20a

View File

@ -130,6 +130,7 @@ int main(int argc, char **argv, char **envp)
char *finalterm;
char *ptr;
bool cond;
bool parm1;
FILE *instream;
FILE *outstream;
int ch;
@ -268,6 +269,12 @@ int main(int argc, char **argv, char **envp)
{
/* Parse the line from the CVS file */
g_parm[NAME_INDEX][0] = 0;
g_parm[HEADER_INDEX][0] = 0;
g_parm[COND_INDEX][0] = 0;
g_parm[RETTYPE_INDEX][0] = 0;
g_parm[PARM1_INDEX][0] = 0;
int nargs = parse_csvline(ptr);
if (nargs < PARM1_INDEX)
{
@ -286,8 +293,17 @@ int main(int argc, char **argv, char **envp)
/* Output the symbol table entry */
fprintf(outstream, "%s { \"%s\", (FAR const void *)%s }",
nextterm, g_parm[NAME_INDEX], g_parm[NAME_INDEX]);
parm1 = strlen(g_parm[PARM1_INDEX]) > 0;
if (parm1)
{
fprintf(outstream, "%s { \"%s\", (FAR const void *)%s }",
nextterm, g_parm[NAME_INDEX], g_parm[NAME_INDEX]);
}
else
{
fprintf(outstream, "%s { \"%s\", (FAR const void *)&%s }",
nextterm, g_parm[NAME_INDEX], g_parm[NAME_INDEX]);
}
if (cond)
{