aboutsummaryrefslogtreecommitdiff
path: root/regalone.h
diff options
context:
space:
mode:
Diffstat (limited to 'regalone.h')
-rw-r--r--regalone.h36
1 files changed, 12 insertions, 24 deletions
diff --git a/regalone.h b/regalone.h
index 940c11d..e05fdb8 100644
--- a/regalone.h
+++ b/regalone.h
@@ -2,22 +2,18 @@
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
+#include <stdint.h>
#include <string.h>
#ifndef REGEX_STANDALONE
# define REGEX_STANDALONE
#endif
-#ifdef REGEX_WCHAR
-# include <wctype.h>
-# include <wchar.h>
- typedef wchar_t chr;
- typedef chr Tcl_UniChar;
-#else
-# include <ctype.h>
- typedef unsigned char chr;
- typedef wchar_t Tcl_UniChar;
-#endif
+#include <wctype.h>
+#include <ctype.h>
+// FIXME: Should better be a signed char?
+typedef unsigned char chr;
+//typedef wchar_t Tcl_UniChar;
/*
* In The standalone version we are more concerned with performance,
@@ -34,7 +30,12 @@
#define ckrealloc(p,n) realloc(p,n)
#define ckfree(p) free(p)
-#ifdef REGEX_WCHAR
+// FIXME: Perhaps get rid of these references completely.
+#define Tcl_DStringInit(ds) do (void)(ds); while (0)
+#define Tcl_UniCharToUtfDString(s,l,ds) ((char *)(s))
+#define Tcl_DStringFree(ds) do (void)(ds); while (0)
+
+#ifdef REGEX_UTF8
# define Tcl_UniCharToLower(c) towlower(c)
# define Tcl_UniCharToUpper(c) towupper(c)
# define Tcl_UniCharToTitle(c) towupper(c)
@@ -43,9 +44,6 @@
# define Tcl_UniCharIsDigit(c) iswdigit(c)
# define Tcl_UniCharIsSpace(c) iswspace(c)
#else
-# define Tcl_DStringInit(ds)
-# define Tcl_UniCharToUtfDString(s,l,ds) (s)
-# define Tcl_DStringFree(ds)
# define Tcl_UniCharToLower(c) tolower(c)
# define Tcl_UniCharToUpper(c) toupper(c)
# define Tcl_UniCharToTitle(c) toupper(c)
@@ -238,13 +236,3 @@ typedef struct Tcl_DString {
#else
# define EXTERN extern TCL_STORAGE_CLASS
#endif
-
-
-#ifdef REGEX_WCHAR
-EXTERN void Tcl_DStringFree (Tcl_DString * dsPtr);
-EXTERN void Tcl_DStringInit (Tcl_DString * dsPtr);
-EXTERN char * Tcl_UniCharToUtfDString (CONST Tcl_UniChar * uniStr,
- int uniLength, Tcl_DString * dsPtr);
-EXTERN void Tcl_DStringSetLength (Tcl_DString * dsPtr,
- int length);
-#endif /* REGEX_WCHAR */