fix(is_valid_c_sym)
This commit is contained in:
parent
eab8920b99
commit
54d1af9b88
@ -699,14 +699,18 @@ void trim_trailing_ws(char *str, size_t len) {
|
|||||||
|
|
||||||
static inline
|
static inline
|
||||||
bool is_valid_c_symbol(char *str) {
|
bool is_valid_c_symbol(char *str) {
|
||||||
/* A symbol must start with an underscore or an alpha-numerical char */
|
/* C symbols are of the following pattern:
|
||||||
if ((!isalpha((unsigned char)*str)) && (*str != '_')) {
|
* [$_a-zA-Z][_a-zA-Z0-9]*
|
||||||
|
*/
|
||||||
|
if ((!isalpha((unsigned char)*str))
|
||||||
|
&& (*str != '_')
|
||||||
|
&& (*str != '$')) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check whole string to ensure it is indeed all alpha and/or underscores */
|
|
||||||
while (*++str != '\0') {
|
while (*++str != '\0') {
|
||||||
if ((!isalpha((unsigned char)*str)) && (*str != '_')) {
|
if ((!isalnum((unsigned char)*str))
|
||||||
|
&& (*str != '_')) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user