X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fkmp.h;h=8c8c525448f148f5b7ab9495415752e6736e8d86;hb=534019614dd611e7df29a0c8c59f2a869a2c0c39;hp=86a0f98f89740b2cd88232d85f6cd55fb5e6b2cc;hpb=6c387c164c40f5f24efc45a6d2836e8ab45e3a04;p=libucw.git diff --git a/lib/kmp.h b/lib/kmp.h index 86a0f98f..8c8c5254 100644 --- a/lib/kmp.h +++ b/lib/kmp.h @@ -54,11 +54,11 @@ * we abbreviate this to P(x) below * * KMP_CHAR alphabet type, the default is u16 - * - * KMP_SOURCE user-defined text source; KMP_GET_CHAR must + * + * KMP_SOURCE user-defined text source; KMP_GET_CHAR must * KMP_GET_CHAR(kmp,src,c) return zero at the end or nonzero together with the next character in c otherwise; * if not defined, zero-terminated array of bytes is used as the input - * + * * KMP_VARS user-defined variables in 'struct P(struct)' * -- a structure describing the whole automaton; * these variables are stored in .u substructure to avoid collisions @@ -139,7 +139,7 @@ struct P(state) { struct { # ifdef KMP_STATE_VARS KMP_STATE_VARS -# endif +# endif } u; /* user-defined data*/ }; @@ -168,7 +168,7 @@ P(hash_hash) (struct P(hash_table) *t, struct P(state) *f, P(char_t) c) static inline uns P(hash_hash) (struct P(hash_table) *t UNUSED, struct P(state) *f, P(char_t) c) { - return (((uns)c) << 16) + (uns)(addr_int_t)f; + return (((uns)c) << 16) + (uns)(uintptr_t)f; } #endif @@ -213,10 +213,10 @@ static inline void P(hash_init_key) (struct P(hash_table) *t UNUSED, struct P(state) *s, struct P(state) *f, P(char_t) c) { bzero(s, sizeof(*s)); -# ifdef KMP_INIT_STATE +# ifdef KMP_INIT_STATE struct P(struct) *kmp = (struct P(struct) *)t; { KMP_INIT_STATE(kmp, s); } -# endif +# endif s->from = f; s->c = c; s->next = f->back; /* the pointers hold the link-list of sons... changed in build() */ @@ -256,7 +256,7 @@ struct P(struct) { #ifdef KMP_SOURCE typedef KMP_SOURCE P(source_t); #else -typedef byte *P(source_t); +typedef char *P(source_t); #endif #ifdef KMP_GET_CHAR @@ -281,13 +281,13 @@ P(get_char) (struct P(struct) *kmp UNUSED, P(source_t) *src, P(char_t) *c) { # ifdef KMP_USE_UTF8 uns cc; - *src = (byte *)utf8_get(*src, &cc); + *src = utf8_get(*src, &cc); # ifdef KMP_ONLYALPHA if (!cc) {} else if (!Ualpha(cc)) cc = P(control)(); else -# endif +# endif { # ifdef KMP_TOLOWER cc = Utolower(cc); @@ -402,7 +402,7 @@ P(build) (struct P(struct) *kmp) null->back = NULL; # ifdef KMP_BUILD_STATE { KMP_BUILD_STATE(kmp, null); } -# endif +# endif while (read != write) { struct P(state) *s = fifo[read++], *t; @@ -425,7 +425,7 @@ P(build) (struct P(struct) *kmp) } # ifdef KMP_BUILD_STATE { KMP_BUILD_STATE(kmp, s); } -# endif +# endif } }