diff options
author | dgp <dgp@users.sourceforge.net> | 2011-04-28 14:44:47 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2011-04-28 14:44:47 (GMT) |
commit | 7fa90bb19565f59f0c918cac88e2a34bf51cd0fa (patch) | |
tree | c826199d351b0c6f0746a66124227d102686a420 /generic/tclParse.c | |
parent | 319c5292645aa41b4f56539f615ba5314b27c957 (diff) | |
parent | 5702e695062ec36c3addd403d748af48164db8b1 (diff) | |
download | tcl-7fa90bb19565f59f0c918cac88e2a34bf51cd0fa.zip tcl-7fa90bb19565f59f0c918cac88e2a34bf51cd0fa.tar.gz tcl-7fa90bb19565f59f0c918cac88e2a34bf51cd0fa.tar.bz2 |
New utility routines: TclIsSpaceProc() and TclCountSpaceRuns()
Use to replace calls to isspace() and their /* INTL */ risk.
Diffstat (limited to 'generic/tclParse.c')
-rw-r--r-- | generic/tclParse.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/generic/tclParse.c b/generic/tclParse.c index 9bfe608..429d33a 100644 --- a/generic/tclParse.c +++ b/generic/tclParse.c @@ -611,6 +611,30 @@ Tcl_ParseCommand( /* *---------------------------------------------------------------------- * + * TclIsSpaceProc -- + * + * Report whether byte is in the set of whitespace characters used by + * Tcl to separate words in scripts or elements in lists. + * + * Results: + * Returns 1, if byte is in the set, 0 otherwise. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +int +TclIsSpaceProc( + char byte) +{ + return CHAR_TYPE(byte) & (TYPE_SPACE) || byte == '\n'; +} + +/* + *---------------------------------------------------------------------- + * * ParseWhiteSpace -- * * Scans up to numBytes bytes starting at src, consuming white space @@ -1757,7 +1781,7 @@ Tcl_ParseBraces( openBrace = 0; break; case '#' : - if (openBrace && isspace(UCHAR(src[-1]))) { + if (openBrace && TclIsSpaceProc(src[-1])) { Tcl_AppendResult(parsePtr->interp, ": possible unbalanced brace in comment", NULL); goto error; |