- detect "const" for variables

This commit is contained in:
2017-03-16 13:46:57 +00:00
parent cd9838808f
commit 106c030fa7
3 changed files with 16 additions and 4 deletions

View File

@@ -26,10 +26,11 @@
typedef enum _CFILE_VARIABLE_TYPE_T
{
CVARIABLE_TYPE_UNDEF = 0, /*!< @brief undefined */
CVARIABLE_TYPE_REGULAR = 1, /*!< @brief Regular C function definition */
CVARIABLE_TYPE_STATIC = 2, /*!< @brief Static C function definition */
CVARIABLE_TYPE_EXTERN = 4, /*!< @brief External C function definition */
CVARIABLE_TYPE_FUPTR = 8, /*!< @brief Function pointer as parameter */
CVARIABLE_TYPE_REGULAR = 0x01, /*!< @brief Regular C variable definition */
CVARIABLE_TYPE_STATIC = 0x02, /*!< @brief Static C variable definition */
CVARIABLE_TYPE_EXTERN = 0x04, /*!< @brief External C variable definition */
CVARIABLE_TYPE_FUPTR = 0x08, /*!< @brief Function pointer as variable */
CVARIABLE_TYPE_CONST = 0x10, /*!< @brief Const C variable */
CVARIABLE_TYPE_LAST_ENUM
} cfile_variable_type_t;

View File

@@ -18,6 +18,7 @@
#include "xstring.h"
#include "xmalloc.h"
#include "cfile_if.h"
#include "cfile_parser_if.h"
#include "cfile_parser_loc.h"
#include "cfile_parser_worker_loc.h"
#include "debug.h"
@@ -237,6 +238,14 @@ STATIC int8_t matchPrefix(void *aElement, celement_type_t aElementType, char *aS
xmallocStrlcpy(type, temp, strlen(temp));
}
if (CELEMENT_TYPE_VARIABLE == aElementType)
{
if (*type && NULL != strstr(*type, CPARS_ELEMENT_CONST))
{
CVARIABLE_SET_TYPE(((cfile_variable_t* ) aElement)->type, CVARIABLE_TYPE_CONST);
}
}
free(temp);
return 0;
}

View File

@@ -14,6 +14,8 @@
#ifndef STUBSER_CFILE_PARSER_IF_H_
#define STUBSER_CFILE_PARSER_IF_H_
#define CPARS_ELEMENT_CONST "const"
uint32_t cfile_parser(char *aPath, cfile_t *aList);
#endif /* STUBSER_CFILE_PARSER_IF_H_ */