You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2022/06/08 21:47:23 UTC
[trafficserver] branch 9.2.x updated: mkdfa.c is not being used and doesn't compile with gcc 12.1.1 (#8838)
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch 9.2.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/9.2.x by this push:
new d9d3cae8f mkdfa.c is not being used and doesn't compile with gcc 12.1.1 (#8838)
d9d3cae8f is described below
commit d9d3cae8f024bb478ac481fab607007222f92385
Author: Bryan Call <bc...@apache.org>
AuthorDate: Thu May 19 08:31:53 2022 -0700
mkdfa.c is not being used and doesn't compile with gcc 12.1.1 (#8838)
(cherry picked from commit 5fe6f413efdd296351a53391f3a0d21c5514e1d7)
---
src/tscore/Makefile.am | 4 +-
src/tscore/mkdfa.c | 621 -------------------------------------------------
2 files changed, 1 insertion(+), 624 deletions(-)
diff --git a/src/tscore/Makefile.am b/src/tscore/Makefile.am
index 0b6d938de..491d5f173 100644
--- a/src/tscore/Makefile.am
+++ b/src/tscore/Makefile.am
@@ -18,7 +18,7 @@
include $(top_srcdir)/build/tidy.mk
-noinst_PROGRAMS = mkdfa CompileParseRules freelist_benchmark
+noinst_PROGRAMS = CompileParseRules freelist_benchmark
check_PROGRAMS = test_geometry test_X509HostnameValidator test_tscore
if EXPENSIVE_TESTS
@@ -145,8 +145,6 @@ $(srcdir)/ParseRules.cc: ParseRulesCType
ParseRulesCType: CompileParseRules
LSAN_OPTIONS='detect_leaks=0' ./CompileParseRules
-mkdfa_SOURCES = mkdfa.c
-
test_atomic_SOURCES = test_atomic.cc
test_atomic_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@
diff --git a/src/tscore/mkdfa.c b/src/tscore/mkdfa.c
deleted file mode 100644
index 2e3092941..000000000
--- a/src/tscore/mkdfa.c
+++ /dev/null
@@ -1,621 +0,0 @@
-/** @file
-
- A brief file description
-
- @section license License
-
- 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 <assert.h>
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define SIZEOF(t) (sizeof(t) / (sizeof((t)[0])))
-
-typedef struct _info_t info_t;
-typedef struct _state_t state_t;
-typedef struct _transition_t transition_t;
-
-struct _info_t {
- const char *name;
- const char *value;
- int namelen;
-};
-
-struct _state_t {
- int num;
- const char *value;
- transition_t *transitions;
-};
-
-struct _transition_t {
- int value;
- state_t *state;
- transition_t *next;
-};
-
-info_t fields[] = {
- {"Accept", "MIME_FIELD_ACCEPT", 0},
- {"Accept-Charset", "MIME_FIELD_ACCEPT_CHARSET", 0},
- {"Accept-Encoding", "MIME_FIELD_ACCEPT_ENCODING", 0},
- {"Accept-Language", "MIME_FIELD_ACCEPT_LANGUAGE", 0},
- {"Accept-Ranges", "MIME_FIELD_ACCEPT_RANGES", 0},
- {"Age", "MIME_FIELD_AGE", 0},
- {"Allow", "MIME_FIELD_ALLOW", 0},
- {"Approved", "MIME_FIELD_APPROVED", 0},
- {"Authorization", "MIME_FIELD_AUTHORIZATION", 0},
- {"Bytes", "MIME_FIELD_BYTES", 0},
- {"Cache-Control", "MIME_FIELD_CACHE_CONTROL", 0},
- {"Connection", "MIME_FIELD_CONNECTION", 0},
- {"Content-Base", "MIME_FIELD_CONTENT_BASE", 0},
- {"Content-Encoding", "MIME_FIELD_CONTENT_ENCODING", 0},
- {"Content-Language", "MIME_FIELD_CONTENT_LANGUAGE", 0},
- {"Content-Length", "MIME_FIELD_CONTENT_LENGTH", 0},
- {"Content-Location", "MIME_FIELD_CONTENT_LOCATION", 0},
- {"Content-Md5", "MIME_FIELD_CONTENT_MD5", 0},
- {"Content-Range", "MIME_FIELD_CONTENT_RANGE", 0},
- {"Content-Type", "MIME_FIELD_CONTENT_TYPE", 0},
- {"Control", "MIME_FIELD_CONTROL", 0},
- {"Cookie", "MIME_FIELD_COOKIE", 0},
- {"Date", "MIME_FIELD_DATE", 0},
- {"Distribution", "MIME_FIELD_DISTRIBUTION", 0},
- {"Etag", "MIME_FIELD_ETAG", 0},
- {"Expires", "MIME_FIELD_EXPIRES", 0},
- {"Followup-To", "MIME_FIELD_FOLLOWUP_TO", 0},
- {"From", "MIME_FIELD_FROM", 0},
- {"Host", "MIME_FIELD_HOST", 0},
- {"If-Match", "MIME_FIELD_IF_MATCH", 0},
- {"If-Modified-Since", "MIME_FIELD_IF_MODIFIED_SINCE", 0},
- {"If-None-Match", "MIME_FIELD_IF_NONE_MATCH", 0},
- {"If-Range", "MIME_FIELD_IF_RANGE", 0},
- {"If-Unmodified-Since", "MIME_FIELD_IF_UNMODIFIED_SINCE", 0},
- {"Keywords", "MIME_FIELD_KEYWORDS", 0},
- {"Last-Modified", "MIME_FIELD_LAST_MODIFIED", 0},
- {"Lines", "MIME_FIELD_LINES", 0},
- {"Location", "MIME_FIELD_LOCATION", 0},
- {"Max-Forwards", "MIME_FIELD_MAX_FORWARDS", 0},
- {"Message-ID", "MIME_FIELD_MESSAGE_ID", 0},
- {"Newsgroups", "MIME_FIELD_NEWSGROUPS", 0},
- {"Organization", "MIME_FIELD_ORGANIZATION", 0},
- {"Path", "MIME_FIELD_PATH", 0},
- {"Pragma", "MIME_FIELD_PRAGMA", 0},
- {"Proxy-Authenticate", "MIME_FIELD_PROXY_AUTHENTICATE", 0},
- {"Proxy-Authorization", "MIME_FIELD_PROXY_AUTHORIZATION", 0},
- {"Proxy-Connection", "MIME_FIELD_PROXY_CONNECTION", 0},
- {"Public", "MIME_FIELD_PUBLIC", 0},
- {"Range", "MIME_FIELD_RANGE", 0},
- {"References", "MIME_FIELD_REFERENCES", 0},
- {"Referer", "MIME_FIELD_REFERER", 0},
- {"Reply-To", "MIME_FIELD_REPLY_TO", 0},
- {"Retry-After", "MIME_FIELD_RETRY_AFTER", 0},
- {"Sender", "MIME_FIELD_SENDER", 0},
- {"Server", "MIME_FIELD_SERVER", 0},
- {"Set-Cookie", "MIME_FIELD_SET_COOKIE", 0},
- {"Subject", "MIME_FIELD_SUBJECT", 0},
- {"Summary", "MIME_FIELD_SUMMARY", 0},
- {"Transfer-Encoding", "MIME_FIELD_TRANSFER_ENCODING", 0},
- {"Upgrade", "MIME_FIELD_UPGRADE", 0},
- {"User-Agent", "MIME_FIELD_USER_AGENT", 0},
- {"Vary", "MIME_FIELD_VARY", 0},
- {"Via", "MIME_FIELD_VIA", 0},
- {"Warning", "MIME_FIELD_WARNING", 0},
- {"Www-Authenticate", "MIME_FIELD_WWW_AUTHENTICATE", 0},
- {"Xref", "MIME_FIELD_XREF", 0},
- {NULL, "MIME_FIELD_EXTENSION", 0},
-};
-
-info_t schemes[] = {
- {"file", "URL_SCHEME_FILE", 0}, {"ftp", "URL_SCHEME_FTP", 0}, {"gopher", "URL_SCHEME_GOPHER", 0},
- {"http", "URL_SCHEME_HTTP", 0}, {"https", "URL_SCHEME_HTTPS", 0}, {"mailto", "URL_SCHEME_MAILTO", 0},
- {"news", "URL_SCHEME_NEWS", 0}, {"nntp", "URL_SCHEME_NNTP", 0}, {"prospero", "URL_SCHEME_PROSPERO", 0},
- {"telnet", "URL_SCHEME_TELNET", 0}, {"wais", "URL_SCHEME_WAIS", 0}, {NULL, "URL_SCHEME_NONE", 0},
-};
-
-info_t methods[] = {
- {"CONNECT", "HTTP_METHOD_CONNECT", -1}, {"DELETE", "HTTP_METHOD_DELETE", -1}, {"GET", "HTTP_METHOD_GET", -1},
- {"HEAD", "HTTP_METHOD_HEAD", -1}, {"HTTP/", "HTTP_METHOD_HTTP", -1}, {"OPTIONS", "HTTP_METHOD_OPTIONS", -1},
- {"POST", "HTTP_METHOD_POST", -1}, {"PURGE", "HTTP_METHOD_PURGE", -1}, {"PUT", "HTTP_METHOD_PUT", -1},
- {"TRACE", "HTTP_METHOD_TRACE", -1}, {NULL, "HTTP_METHOD_NONE", 0},
-};
-
-info_t statuses[] = {
- {"100", "HTTP_STATUS_CONTINUE", -1},
- {"101", "HTTP_STATUS_SWITCHING_PROTOCOL", -1},
- {"103", "HTTP_STATUS_EARLY_HINTS", -1},
- {"200", "HTTP_STATUS_OK", -1},
- {"201", "HTTP_STATUS_CREATED", -1},
- {"202", "HTTP_STATUS_ACCEPTED", -1},
- {"203", "HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION", -1},
- {"204", "HTTP_STATUS_NO_CONTENT", -1},
- {"205", "HTTP_STATUS_RESET_CONTENT", -1},
- {"206", "HTTP_STATUS_PARTIAL_CONTENT", -1},
- {"300", "HTTP_STATUS_MULTIPLE_CHOICES", -1},
- {"301", "HTTP_STATUS_MOVED_PERMANENTLY", -1},
- {"302", "HTTP_STATUS_MOVED_TEMPORARILY", -1},
- {"303", "HTTP_STATUS_SEE_OTHER", -1},
- {"304", "HTTP_STATUS_NOT_MODIFIED", -1},
- {"305", "HTTP_STATUS_USE_PROXY", -1},
- {"400", "HTTP_STATUS_BAD_REQUEST", -1},
- {"401", "HTTP_STATUS_UNAUTHORIZED", -1},
- {"402", "HTTP_STATUS_PAYMENT_REQUIRED", -1},
- {"403", "HTTP_STATUS_FORBIDDEN", -1},
- {"404", "HTTP_STATUS_NOT_FOUND", -1},
- {"405", "HTTP_STATUS_METHOD_NOT_ALLOWED", -1},
- {"406", "HTTP_STATUS_NOT_ACCEPTABLE", -1},
- {"407", "HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED", -1},
- {"408", "HTTP_STATUS_REQUEST_TIMEOUT", -1},
- {"409", "HTTP_STATUS_CONFLICT", -1},
- {"410", "HTTP_STATUS_GONE", -1},
- {"411", "HTTP_STATUS_LENGTH_REQUIRED", -1},
- {"412", "HTTP_STATUS_PRECONDITION_FAILED", -1},
- {"413", "HTTP_STATUS_REQUEST_ENTITY_TOO_LARGE", -1},
- {"414", "HTTP_STATUS_REQUEST_URI_TOO_LONG", -1},
- {"415", "HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE", -1},
- {"500", "HTTP_STATUS_INTERNAL_SERVER_ERROR", -1},
- {"501", "HTTP_STATUS_NOT_IMPLEMENTED", -1},
- {"502", "HTTP_STATUS_BAD_GATEWAY", -1},
- {"503", "HTTP_STATUS_SERVICE_UNAVAILABLE", -1},
- {"504", "HTTP_STATUS_GATEWAY_TIMEOUT", -1},
- {"505", "HTTP_STATUS_HTTPVER_NOT_SUPPORTED", -1},
- {NULL, "HTTP_STATUS_NONE", 0},
-};
-
-info_t days[] = {
- {"Fri", "FRIDAY", -1}, {"Friday", "FRIDAY", -1}, {"Mon", "MONDAY", -1}, {"Monday", "MONDAY", -1},
- {"Sat", "SATURDAY", -1}, {"Saturday", "SATURDAY", -1}, {"Sun", "SUNDAY", -1}, {"Sunday", "SUNDAY", -1},
- {"Thu", "THURSDAY", -1}, {"Thursday", "THURSDAY", -1}, {"Tue", "TUESDAY", -1}, {"Tuesday", "TUESDAY", -1},
- {"Wed", "WEDNESDAY", -1}, {"Wednesday", "WEDNESDAY", -1}, {NULL, "UNKNOWN_DAY", -1},
-};
-
-info_t months[] = {
- {"Apr", "APRIL", -1}, {"Aug", "AUGUST", -1}, {"Dec", "DECEMBER", -1}, {"Feb", "FEBRUARY", -1}, {"Jan", "JANUARY", -1},
- {"Jul", "JULY", -1}, {"Jun", "JUNE", -1}, {"Mar", "MARCH", -1}, {"May", "MAY", -1}, {"Nov", "NOVEMBER", -1},
- {"Oct", "OCTOBER", -1}, {"Sep", "SEPTEMBER", -1}, {NULL, "UNKNOWN_MONTH", -1},
-};
-
-info_t connections[] = {
- {"CLOSE", "HTTP_CONNECTION_CLOSE", -1},
- {"KEEP-ALIVE", "HTTP_CONNECTION_KEEP_ALIVE", -1},
- {NULL, "HTTP_CONNECTION_NONE", -1},
-};
-
-info_t cache_controls[] = {
- {"max-age", "HTTP_CACHE_DIRECTIVE_MAX_AGE", -1},
- {"max-stale", "HTTP_CACHE_DIRECTIVE_MAX_STALE", -1},
- {"min-fresh", "HTTP_CACHE_DIRECTIVE_MIN_FRESH", -1},
- {"must-revalidate", "HTTP_CACHE_DIRECTIVE_MUST_REVALIDATE", -1},
- {"no-cache", "HTTP_CACHE_DIRECTIVE_NO_CACHE", -1},
- {"no-store", "HTTP_CACHE_DIRECTIVE_NO_STORE", -1},
- {"no-transform", "HTTP_CACHE_DIRECTIVE_NO_TRANSFORM", -1},
- {"only-if-cached", "HTTP_CACHE_DIRECTIVE_ONLY_IF_CACHED", -1},
- {"private", "HTTP_CACHE_DIRECTIVE_PRIVATE", -1},
- {"proxy-revalidate", "HTTP_CACHE_DIRECTIVE_PROXY_REVALIDATE", -1},
- {"public", "HTTP_CACHE_DIRECTIVE_PUBLIC", -1},
- {"s-maxage", "HTTP_CACHE_DIRECTIVE_S_MAX_AGE", -1},
- {NULL, "HTTP_CACHE_DIRECTIVE_CACHE_EXTENSION", -1},
-};
-
-state_t *start = NULL;
-int state_count = 0;
-
-int *map = NULL;
-int *basetbl = NULL;
-int *nexttbl = NULL;
-int *checktbl = NULL;
-const char **accepttbl = NULL;
-char **prefixtbl = NULL;
-
-state_t *
-mkstate()
-{
- state_t *state;
-
- state = (state_t *)malloc(sizeof(state_t));
- state->num = state_count++;
- state->value = NULL;
- state->transitions = NULL;
-
- return state;
-}
-
-transition_t *
-mktransition()
-{
- transition_t *transition;
-
- transition = (transition_t *)malloc(sizeof(transition_t));
- transition->value = 0;
- transition->state = NULL;
- transition->next = NULL;
-
- return transition;
-}
-
-void
-prstate(state_t *state)
-{
- transition_t *transitions;
-
- printf("%3d:", state->num);
-
- if (state->value)
- printf(" %s", state->value);
- printf("\n");
-
- transitions = state->transitions;
- while (transitions) {
- printf(" %c --> %d\n", tolower(transitions->value), transitions->state->num);
- transitions = transitions->next;
- }
-
- transitions = state->transitions;
- while (transitions) {
- prstate(transitions->state);
- transitions = transitions->next;
- }
-}
-
-void
-add_states(state_t *state, info_t *info, int pos)
-{
- transition_t *transitions;
-
- if (info->namelen == pos) {
- state->value = info->value;
- return;
- }
-
- transitions = state->transitions;
- while (transitions) {
- if (tolower(transitions->value) == tolower(info->name[pos])) {
- if ((transitions->state->value && (info->namelen == (pos + 1))) || (info->namelen != (pos + 1))) {
- add_states(transitions->state, info, pos + 1);
- return;
- }
- }
-
- transitions = transitions->next;
- }
-
- if (state->transitions) {
- transitions = state->transitions;
- while (transitions->next)
- transitions = transitions->next;
-
- transitions->next = mktransition();
- transitions = transitions->next;
- } else {
- transitions = mktransition();
- state->transitions = transitions;
- }
-
- transitions->value = info->name[pos];
- transitions->state = mkstate();
-
- add_states(transitions->state, info, pos + 1);
-}
-
-void
-prtable(const char *type, const char *name, int *table, int size)
-{
- int i;
-
- printf(" static %s %s[%d] =\n", type, name, size);
- printf(" {\n");
-
- for (i = 0; i < size; i++) {
- if ((i % 12) == 0)
- printf(" %3d,", table[i]);
- else if ((i % 12) == 11)
- printf(" %3d,\n", table[i]);
- else
- printf(" %3d,", table[i]);
- }
-
- if ((i % 12) != 0)
- printf("\n");
-
- printf(" };\n");
-}
-
-int
-mkmap(state_t *state)
-{
- static int count = 1;
-
- transition_t *transitions;
-
- transitions = state->transitions;
- while (transitions) {
- if (map[tolower(transitions->value)] == 0) {
- map[tolower(transitions->value)] = count;
- map[toupper(transitions->value)] = count;
- count += 1;
- }
-
- mkmap(transitions->state);
-
- transitions = transitions->next;
- }
-
- return count;
-}
-
-void
-mkaccept(state_t *state, const char *defvalue)
-{
- transition_t *transitions;
-
- if (state->value)
- accepttbl[state->num] = state->value;
- else
- accepttbl[state->num] = defvalue;
-
- transitions = state->transitions;
- while (transitions) {
- mkaccept(transitions->state, defvalue);
- transitions = transitions->next;
- }
-}
-
-void
-mkprefix(state_t *state, char *prefix, int length)
-{
- transition_t *transitions;
-
- prefixtbl[state->num] = (char *)malloc(sizeof(char) * (length + 1));
- if (length > 0) {
- strncpy(prefixtbl[state->num], prefix, length);
- }
- prefixtbl[state->num][length] = '\0';
-
- transitions = state->transitions;
- while (transitions) {
- prefix[length] = transitions->value;
- mkprefix(transitions->state, prefix, length + 1);
- transitions = transitions->next;
- }
-}
-
-int
-checkbase(state_t *state, int base)
-{
- transition_t *transitions;
-
- transitions = state->transitions;
- while (transitions) {
- if (checktbl[base + map[transitions->value]] != -1)
- return 0;
- transitions = transitions->next;
- }
-
- return 1;
-}
-
-void
-mktranstables(state_t *state)
-{
- transition_t *transitions;
- int base;
-
- base = 0;
- while (base < state_count) {
- if (checkbase(state, base))
- break;
- base += 1;
- }
-
- assert(base < state_count);
-
- basetbl[state->num] = base;
-
- transitions = state->transitions;
- while (transitions) {
- assert(checktbl[basetbl[state->num] + map[transitions->value]] == -1);
-
- checktbl[basetbl[state->num] + map[transitions->value]] = state->num;
- nexttbl[basetbl[state->num] + map[transitions->value]] = transitions->state->num;
- transitions = transitions->next;
- }
-
- transitions = state->transitions;
- while (transitions) {
- mktranstables(transitions->state);
- transitions = transitions->next;
- }
-}
-
-void
-mktables(state_t *state, const char *defvalue, int useprefix)
-{
- char prefix[1024];
- int char_count;
- int i;
-
- /* make the character map */
- map = (int *)malloc(sizeof(int) * 256);
- for (i = 0; i < 256; i++)
- map[i] = 0;
-
- char_count = mkmap(state);
-
- prtable("int", "map", map, 256);
- printf("\n");
-
- /* make the accept state table */
- accepttbl = (const char **)malloc(sizeof(const char *) * state_count);
- for (i = 0; i < state_count; i++)
- accepttbl[i] = NULL;
-
- mkaccept(state, defvalue);
-
- /* print the accept state table */
- printf(" static int accepttbl[%d] =\n", state_count);
- printf(" {\n");
-
- for (i = 0; i < state_count; i++)
- printf(" %s,\n", accepttbl[i]);
-
- printf(" };\n\n");
-
- /* make the prefix table */
- if (useprefix) {
- prefixtbl = (char **)malloc(sizeof(char *) * state_count);
- for (i = 0; i < state_count; i++)
- prefixtbl[i] = NULL;
-
- mkprefix(state, prefix, 0);
-
- /* print the prefix table */
- printf(" static const char *prefixtbl[%d] =\n", state_count);
- printf(" {\n");
-
- for (i = 0; i < state_count; i++)
- printf(" \"%s\",\n", prefixtbl[i]);
-
- printf(" };\n\n");
- }
-
- /* make the state transition tables */
-
- basetbl = (int *)malloc(sizeof(int) * state_count);
- nexttbl = (int *)malloc(sizeof(int) * (state_count + char_count));
- checktbl = (int *)malloc(sizeof(int) * (state_count + char_count));
-
- for (i = 0; i < state_count; i++) {
- basetbl[i] = -1;
- }
-
- for (i = 0; i < (state_count + char_count); i++) {
- nexttbl[i] = 0;
- checktbl[i] = -1;
- }
-
- mktranstables(state);
-
- prtable("int", "basetbl", basetbl, state_count);
- printf("\n");
- prtable("int", "nexttbl", nexttbl, state_count + char_count);
- printf("\n");
- prtable("int", "checktbl", checktbl, state_count + char_count);
-}
-
-const char *
-rundfa(const char *buf, int length)
-{
- const char *end;
- int state;
- int ch, tmp;
-
- state = 0;
- end = buf + length;
-
- while (buf != end) {
- ch = map[(int)*buf++];
-
- tmp = basetbl[state] + ch;
- if (checktbl[tmp] != state)
- return NULL;
- state = nexttbl[tmp];
- }
-
- return accepttbl[state];
-}
-
-void
-mkdfa(info_t *infos, int ninfos, int useprefix, int debug)
-{
- /*
- static const char *names[] =
- {
- "foo",
- "bar",
- "foobar",
- "argh",
- "filep",
- };
- static int nnames = SIZEOF (names);
- const char *accept;
- */
-
- int i;
-
- start = mkstate();
-
- for (i = 0; i < (ninfos - 1); i++)
- infos[i].namelen = strlen(infos[i].name);
-
- for (i = 0; i < (ninfos - 1); i++)
- add_states(start, &infos[i], 0);
-
- mktables(start, infos[ninfos - 1].value, useprefix);
-
- if (debug) {
- printf("\n/*\n");
- prstate(start);
- printf("*/\n");
-
- /*
- for (i = 0; i < ninfos; i++)
- {
- accept = rundfa (infos[i].name, infos[i].namelen);
- if (accept)
- printf ("%s\n", accept);
- else
- printf ("%s not accepted\n", infos[i].name);
- }
-
- for (i = 0; i < nnames; i++)
- {
- accept = rundfa (names[i], strlen (names[i]));
- if (accept)
- printf ("%s\n", accept);
- else
- printf ("%s not accepted\n", names[i]);
- }
- */
- }
-}
-
-int
-main(int argc, char *argv[])
-{
- if (argc < 2)
- return 1;
-
- if (strcmp(argv[1], "fields") == 0)
- mkdfa(fields, SIZEOF(fields), 1, (argc == 3));
- else if (strcmp(argv[1], "methods") == 0)
- mkdfa(methods, SIZEOF(methods), 0, (argc == 3));
- else if (strcmp(argv[1], "statuses") == 0)
- mkdfa(statuses, SIZEOF(statuses), 0, (argc == 3));
- else if (strcmp(argv[1], "schemes") == 0)
- mkdfa(schemes, SIZEOF(schemes), 0, (argc == 3));
- else if (strcmp(argv[1], "days") == 0)
- mkdfa(days, SIZEOF(days), 0, (argc == 3));
- else if (strcmp(argv[1], "months") == 0)
- mkdfa(months, SIZEOF(months), 0, (argc == 3));
- else if (strcmp(argv[1], "connections") == 0)
- mkdfa(connections, SIZEOF(connections), 0, (argc == 3));
- else if (strcmp(argv[1], "cache-controls") == 0)
- mkdfa(cache_controls, SIZEOF(cache_controls), 0, (argc == 3));
-
- return 0;
-}