diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2004-10-14 15:28:36 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2004-10-14 15:28:36 (GMT) |
commit | 993187d76d965c2c473b790f1c915d65494af65b (patch) | |
tree | b5dba038b42ffc58fba56239e5f85fd048c2c11a /generic/tclUtil.c | |
parent | a0450acd9622a064562fefe006306d0775937c30 (diff) | |
download | tcl-993187d76d965c2c473b790f1c915d65494af65b.zip tcl-993187d76d965c2c473b790f1c915d65494af65b.tar.gz tcl-993187d76d965c2c473b790f1c915d65494af65b.tar.bz2 |
Speed up [info <thing> <simplePattern>]
Diffstat (limited to 'generic/tclUtil.c')
-rw-r--r-- | generic/tclUtil.c | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c index 8dfe0d9..59872ce 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUtil.c,v 1.36.2.4 2003/08/27 21:31:53 dgp Exp $ + * RCS: @(#) $Id: tclUtil.c,v 1.36.2.5 2004/10/14 15:28:39 dkf Exp $ */ #include "tclInt.h" @@ -1395,6 +1395,43 @@ Tcl_StringCaseMatch(string, pattern, nocase) /* *---------------------------------------------------------------------- * + * TclMatchIsTrivial -- + * + * Test whether a particular glob pattern is a trivial pattern. + * (i.e. where matching is the same as equality testing). + * + * Results: + * A boolean indicating whether the pattern is free of all of the + * glob special chars. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +int +TclMatchIsTrivial(pattern) + CONST char *pattern; +{ + CONST char *p = pattern; + + while (1) { + switch (*p++) { + case '\0': + return 1; + case '*': + case '?': + case '[': + case '\\': + return 0; + } + } +} + +/* + *---------------------------------------------------------------------- + * * Tcl_DStringInit -- * * Initializes a dynamic string, discarding any previous contents |