diff --git a/openbsc/contrib/nat/test_regexp.c b/openbsc/contrib/nat/test_regexp.c new file mode 100644 index 000000000..808a703ca --- /dev/null +++ b/openbsc/contrib/nat/test_regexp.c @@ -0,0 +1,30 @@ +/* make test_regexp */ +#include +#include +#include + + +int main(int argc, char **argv) +{ + regex_t reg; + regmatch_t matches[2]; + + if (argc != 4) { + printf("Invoke with: test_regexp REGEXP REPLACE NR\n"); + return -1; + } + + if (regcomp(®, argv[1], REG_EXTENDED) != 0) { + fprintf(stderr, "Regexp '%s' is not valid.\n", argv[1]); + return -1; + } + + if (regexec(®, argv[3], 2, matches, 0) == 0 && matches[1].rm_eo != -1) + printf("New Number: %s%s\n", argv[2], &argv[3][matches[1].rm_so]); + else + printf("No match.\n"); + + regfree(®); + + return 0; +}