diff options
author | Paul Smith <psmith@gnu.org> | 2013-10-05 16:10:30 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2013-10-05 16:10:30 -0400 |
commit | 2fb91e19a02ff8a3e43145d582cfebaf3a60f1d9 (patch) | |
tree | 7bd7b902fd68f6df94c90d7544184067031a2502 /main.c | |
parent | f96c114e22c26dbcd18b7c16590b5e0ef0c58fe9 (diff) | |
download | gunmake-2fb91e19a02ff8a3e43145d582cfebaf3a60f1d9.tar.gz |
Sanitize the registered function interface.
Expand the characters which are legal in a function name, and check
the name for validity. Create a type for the function pointer.
Convert the last argument from a boolean to flags, to allow for expansion.
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -612,10 +612,13 @@ initialize_stopchar_map () stopchar_map[(int)':'] = MAP_COLON; stopchar_map[(int)'%'] = MAP_PERCENT; stopchar_map[(int)'|'] = MAP_PIPE; - stopchar_map[(int)'.'] = MAP_DOT; + stopchar_map[(int)'.'] = MAP_DOT | MAP_USERFUNC; stopchar_map[(int)','] = MAP_COMMA; stopchar_map[(int)'$'] = MAP_VARIABLE; + stopchar_map[(int)'-'] = MAP_USERFUNC; + stopchar_map[(int)'_'] = MAP_USERFUNC; + stopchar_map[(int)'/'] = MAP_PATHSEP; #if defined(VMS) stopchar_map[(int)']'] = MAP_PATHSEP; @@ -629,6 +632,8 @@ initialize_stopchar_map () stopchar_map[i] = MAP_BLANK; if (isspace(i)) stopchar_map[i] |= MAP_SPACE; + if (isalnum(i)) + stopchar_map[i] = MAP_USERFUNC; } } |