/* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "apr_strings.h" #include "apr_pools.h" #include "apr_general.h" #include "apr_hash.h" #include "apr_lib.h" #include "apr_time.h" #include #include #include int main( int argc, char** argv) { apr_pool_t *context; regex_t regex; int rc; int i; int iters; apr_time_t now; apr_time_t end; apr_hash_t *h; if (argc !=4 ) { fprintf(stderr, "Usage %s match string #iterations\n",argv[0]); return -1; } iters = atoi( argv[3]); apr_initialize() ; atexit(apr_terminate); if (apr_pool_create(&context, NULL) != APR_SUCCESS) { fprintf(stderr, "Something went wrong\n"); exit(-1); } rc = regcomp( ®ex, argv[1], REG_EXTENDED|REG_NOSUB); if (rc) { char errbuf[2000]; regerror(rc, ®ex,errbuf,2000); fprintf(stderr,"Couldn't compile regex ;(\n%s\n ",errbuf); return -1; } if ( regexec( ®ex, argv[2], 0, NULL,0) == 0 ) { fprintf(stderr,"Match\n"); } else { fprintf(stderr,"No Match\n"); } now = apr_time_now(); for (i=0;i