summaryrefslogtreecommitdiffstats
path: root/generic/tclRegexp.h
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclRegexp.h')
-rw-r--r--generic/tclRegexp.h61
1 files changed, 20 insertions, 41 deletions
diff --git a/generic/tclRegexp.h b/generic/tclRegexp.h
index 7a6fb2a..3b2433e 100644
--- a/generic/tclRegexp.h
+++ b/generic/tclRegexp.h
@@ -1,16 +1,14 @@
-/*
+/*
* tclRegexp.h --
*
- * This file contains definitions used internally by Henry
- * Spencer's regular expression code.
+ * This file contains definitions used internally by Henry Spencer's
+ * regular expression code.
*
* Copyright (c) 1998 by Sun Microsystems, Inc.
* Copyright (c) 1998-1999 by Scriptics Corporation.
*
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
- * RCS: @(#) $Id: tclRegexp.h,v 1.8 1999/06/02 01:53:31 stanton Exp $
+ * See the file "license.terms" for information on usage and redistribution of
+ * this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
#ifndef _TCLREGEXP
@@ -18,25 +16,21 @@
#include "regex.h"
-#ifdef BUILD_tcl
-# undef TCL_STORAGE_CLASS
-# define TCL_STORAGE_CLASS DLLEXPORT
-#endif
-
/*
- * The TclRegexp structure encapsulates a compiled regex_t,
- * the flags that were used to compile it, and an array of pointers
- * that are used to indicate subexpressions after a call to Tcl_RegExpExec.
+ * The TclRegexp structure encapsulates a compiled regex_t, the flags that
+ * were used to compile it, and an array of pointers that are used to indicate
+ * subexpressions after a call to Tcl_RegExpExec. Note that the string and
+ * objPtr are mutually exclusive. These values are needed by Tcl_RegExpRange
+ * in order to return pointers into the original string.
*/
typedef struct TclRegexp {
int flags; /* Regexp compile flags. */
regex_t re; /* Compiled re, includes number of
* subexpressions. */
- CONST char *string; /* Last string matched with this regexp
- * (UTF-8), so Tcl_RegExpRange() can convert
- * the matches from character indices to UTF-8
- * byte offsets. */
+ const char *string; /* Last string passed to Tcl_RegExpExec. */
+ Tcl_Obj *objPtr; /* Last object passed to Tcl_RegExpExecObj. */
+ Tcl_Obj *globObjPtr; /* Glob pattern rep of RE or NULL if none. */
regmatch_t *matches; /* Array of indices into the Tcl_UniChar
* representation of the last string matched
* with this regexp to indicate the location
@@ -47,27 +41,12 @@ typedef struct TclRegexp {
* compiled regexp. */
} TclRegexp;
+#endif /* _TCLREGEXP */
+
/*
- * Functions exported for use within the rest of Tcl.
- */
-
-EXTERN int TclRegAbout _ANSI_ARGS_((Tcl_Interp *interp,
- Tcl_RegExp re));
-EXTERN VOID TclRegXflags _ANSI_ARGS_((char *string, int length,
- int *cflagsPtr, int *eflagsPtr));
-EXTERN int TclRegExpExecUniChar _ANSI_ARGS_((Tcl_Interp *interp,
- Tcl_RegExp re, CONST Tcl_UniChar *uniString,
- int numChars, int nmatches, int flags));
-EXTERN int TclRegExpMatchObj _ANSI_ARGS_((Tcl_Interp *interp,
- char *string, Tcl_Obj *patObj));
-EXTERN void TclRegExpRangeUniChar _ANSI_ARGS_((Tcl_RegExp re,
- int index, int *startPtr, int *endPtr));
-
-/*
- * Functions exported from the regexp package for the test package to use.
+ * Local Variables:
+ * mode: c
+ * c-basic-offset: 4
+ * fill-column: 78
+ * End:
*/
-
-EXTERN void TclRegError _ANSI_ARGS_((Tcl_Interp *interp, char *msg,
- int status));
-
-#endif /* _TCLREGEXP */