X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fwildmatch.c;h=e0b5e2ecf6fd0ef42848b6609b737a9359d46d77;hb=e371dcc1cd2857036374dd9597705faed0427006;hp=2a40f53764d8ca61ce6d50af1d8bef8b73ad9d34;hpb=2237687dce28209d9b1dd8ef23b9a915c80b390c;p=libucw.git diff --git a/lib/wildmatch.c b/lib/wildmatch.c index 2a40f537..e0b5e2ec 100644 --- a/lib/wildmatch.c +++ b/lib/wildmatch.c @@ -1,5 +1,5 @@ /* - * Fast Pattern Matcher for Short Wildcard Patterns (only `?' and `*' supported) + * UCW Library -- Fast Pattern Matcher for Short Wildcard Patterns (only `?' and `*' supported) * * Traditional NFA -> DFA method with on-the-fly DFA construction. * @@ -29,7 +29,7 @@ struct nfa_state { }; struct dfa_state { - addr_int_t edge[256]; /* Outgoing DFA edges. Bit 0 is set for incomplete edges which + uintptr_t edge[256]; /* Outgoing DFA edges. Bit 0 is set for incomplete edges which * contain just state set and clear for complete ones which point * to other states. NULL means `no match'. */ @@ -99,7 +99,7 @@ wp_new_state(struct wildpatt *w, u32 set) } struct wildpatt * -wp_compile(byte *p, struct mempool *pool) +wp_compile(const byte *p, struct mempool *pool) { struct wildpatt *w; uns i; @@ -148,7 +148,7 @@ wp_prune_cache(struct wildpatt *w) } int -wp_match(struct wildpatt *w, byte *s) +wp_match(struct wildpatt *w, const byte *s) { struct dfa_state *d; @@ -157,12 +157,12 @@ wp_match(struct wildpatt *w, byte *s) d = w->dfa_start; while (*s) { - addr_int_t next = d->edge[*s]; + uintptr_t next = d->edge[*s]; if (next & 1) { /* Need to lookup/create the destination state */ struct dfa_state *new = wp_new_state(w, next & ~1); - d->edge[*s] = (addr_int_t) new; + d->edge[*s] = (uintptr_t) new; d = new; } else if (!next) @@ -175,7 +175,7 @@ wp_match(struct wildpatt *w, byte *s) } int -wp_min_size(byte *p) +wp_min_size(const byte *p) { int s = 0;