]> mj.ucw.cz Git - libucw.git/blobdiff - lib/wildmatch.c
Added the local copy of the regex library back.
[libucw.git] / lib / wildmatch.c
index a5eb76ede41e01ac52e84e12a9fb3d3347d0a33f..e0b5e2ecf6fd0ef42848b6609b737a9359d46d77 100644 (file)
@@ -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;