version 1.11, 2020/05/25 09:14:50 |
version 1.12, 2020/06/18 05:28:49 |
|
|
int i_flag = 0, v_flag = 0, m_flag = 0, n_flag = 0, q_flag = 0; |
int i_flag = 0, v_flag = 0, m_flag = 0, n_flag = 0, q_flag = 0; |
|
|
static inline int |
static inline int |
isname_first(int c) |
isname(int c) |
{ |
{ |
return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); |
return (c == '_') || |
|
(c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || |
|
(c >= '0' && c <= '9'); |
} |
} |
|
|
static inline int |
|
isname_next(int c) |
|
{ |
|
return isname_first(c) || (c >= '0' && c <= '9') || (c == '_'); |
|
} |
|
|
|
static int |
static int |
ftoi(float f) |
ftoi(float f) |
{ |
{ |
|
|
char *p = *line; |
char *p = *line; |
unsigned len = 0; |
unsigned len = 0; |
|
|
if (!isname_first(*p)) { |
if (!isname(*p)) { |
fprintf(stderr, "letter expected near '%s'\n", p); |
fprintf(stderr, "letter or digit expected near '%s'\n", p); |
return 0; |
return 0; |
} |
} |
while (isname_next(*p)) { |
while (isname(*p)) { |
if (len >= SIOCTL_NAMEMAX - 1) { |
if (len >= SIOCTL_NAMEMAX - 1) { |
name[SIOCTL_NAMEMAX - 1] = '\0'; |
name[SIOCTL_NAMEMAX - 1] = '\0'; |
fprintf(stderr, "%s...: too long\n", name); |
fprintf(stderr, "%s...: too long\n", name); |