summaryrefslogtreecommitdiff
path: root/drivers/trex/test.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/trex/test.c')
-rw-r--r--drivers/trex/test.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/drivers/trex/test.c b/drivers/trex/test.c
new file mode 100644
index 0000000000..69db49c1af
--- /dev/null
+++ b/drivers/trex/test.c
@@ -0,0 +1,41 @@
+#include "trex.h"
+#include <stdio.h>
+#include <string.h>
+
+#ifdef _UNICODE
+#define trex_sprintf swprintf
+#else
+#define trex_sprintf sprintf
+#endif
+
+int main(int argc, char* argv[])
+{
+ const TRexChar *begin,*end;
+ TRexChar sTemp[200];
+ const TRexChar *error = NULL;
+ TRex *x = trex_compile(_TREXC("(x{1,5})xx"),&error);
+ if(x) {
+ trex_sprintf(sTemp,_TREXC("xxxxxxx"));
+ if(trex_search(x,sTemp,&begin,&end))
+ {
+ int i,n = trex_getsubexpcount(x);
+ TRexMatch match;
+ for(i = 0; i < n; i++)
+ {
+ TRexChar t[200];
+ trex_getsubexp(x,i,&match);
+ trex_sprintf(t,_TREXC("[%%d]%%.%ds\n"),match.len);
+ trex_printf(t,i,match.begin);
+ }
+ trex_printf(_TREXC("match! %d sub matches\n"),trex_getsubexpcount(x));
+ }
+ else {
+ trex_printf(_TREXC("no match!\n"));
+ }
+ trex_free(x);
+ }
+ else {
+ trex_printf(_TREXC("compilation error [%s]!\n"),error?error:_TREXC("undefined"));
+ }
+ return 0;
+}