diff options
| author | dgp@users.sourceforge.net <dgp> | 2011-04-28 14:44:47 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2011-04-28 14:44:47 (GMT) |
| commit | a1ea0a89f05c892beefeb7dd7641b397105b6ed3 (patch) | |
| tree | c826199d351b0c6f0746a66124227d102686a420 /generic/tclParse.c | |
| parent | beb8a4001280e9dfd1ada1b0d0e0eca862e42e9d (diff) | |
| parent | 827e4c28d6b5f2f65999cface44008ad54250228 (diff) | |
| download | tcl-a1ea0a89f05c892beefeb7dd7641b397105b6ed3.zip tcl-a1ea0a89f05c892beefeb7dd7641b397105b6ed3.tar.gz tcl-a1ea0a89f05c892beefeb7dd7641b397105b6ed3.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; |
