OSDN Git Service

add retest, a regex testing program
authorTatsuo Ishii <ishii@postgresql.org>
Fri, 21 May 1999 06:27:54 +0000 (06:27 +0000)
committerTatsuo Ishii <ishii@postgresql.org>
Fri, 21 May 1999 06:27:54 +0000 (06:27 +0000)
src/backend/regex/Makefile
src/backend/regex/retest.c [new file with mode: 0644]

index 88d81f6..47b9439 100644 (file)
@@ -4,7 +4,7 @@
 #    Makefile for regex
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/backend/regex/Makefile,v 1.8 1998/07/26 04:30:34 scrappy Exp $
+#    $Header: /cvsroot/pgsql/src/backend/regex/Makefile,v 1.9 1999/05/21 06:27:54 ishii Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -14,9 +14,13 @@ include ../../Makefile.global
 CFLAGS += -I..
 CFLAGS += -DPOSIX_MISTAKE 
 
+DEBUGOBJ =
+
 OBJS = regcomp.o regerror.o regexec.o regfree.o
+
 ifdef MULTIBYTE
 CFLAGS+= $(MBFLAGS)
+DEBUGOBJ += ../utils/mb/SUBSYS.o
 endif
 
 all: SUBSYS.o
@@ -24,11 +28,14 @@ all: SUBSYS.o
 SUBSYS.o: $(OBJS)
        $(LD) -r -o SUBSYS.o $(OBJS)
 
+retest: retest.o SUBSYS.o $(DEBUGOBJ)
+       $(CC) -o retest retest.o SUBSYS.o $(DEBUGOBJ)
+
 depend dep:
        $(CC) -MM $(CFLAGS) *.c >depend
 
 clean: 
-       rm -f SUBSYS.o $(OBJS) 
+       rm -f SUBSYS.o $(OBJS) retest retest.o
 
 ifeq (depend,$(wildcard depend))
 include depend
diff --git a/src/backend/regex/retest.c b/src/backend/regex/retest.c
new file mode 100644 (file)
index 0000000..13dd076
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * a simple regexp debug program
+ * 
+ * $Header: /cvsroot/pgsql/src/backend/regex/Attic/retest.c,v 1.1 1999/05/21 06:27:54 ishii Exp $
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "postgres.h"
+#include <regex/regex.h>
+
+int main()
+{
+  int sts;
+  regex_t re;
+  char buf[1024];
+  char *p;
+
+  printf("type in regexp string: ");
+  if (!fgets(buf,sizeof(buf),stdin)) {
+    exit(0);
+  }
+  p = strchr(buf, '\n');
+  if (p) *p = '\0';
+
+  sts = pg95_regcomp(&re, buf, 1);
+  printf("regcomp: parses \"%s\" and returns %d\n",buf, sts);
+  for (;;) {
+    printf("type in target string: ");
+    if (!fgets(buf,sizeof(buf),stdin)) {
+      exit(0);
+    }
+    p = strchr(buf, '\n');
+    if (p) *p = '\0';
+
+    sts = pg95_regexec(&re, buf, 0, 0, 0);
+    printf("regexec: returns %d\n", sts);
+  }
+}
+
+void elog(int lev, const char *fmt,...)
+{}