Merge branch 'bw/kwset-use-unsigned' into maint
The borrowed code in kwset API did not follow our usual convention to use "unsigned char" to store values that range from 0-255. * bw/kwset-use-unsigned: kwset: use unsigned char to store values with high-bit set
This commit is contained in:
commit
ae8ada450a
2
ctype.c
2
ctype.c
@ -30,7 +30,7 @@ const unsigned char sane_ctype[256] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* For case-insensitive kwset */
|
/* For case-insensitive kwset */
|
||||||
const char tolower_trans_tbl[256] = {
|
const unsigned char tolower_trans_tbl[256] = {
|
||||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||||
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
|
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
|
||||||
|
@ -688,7 +688,7 @@ static inline size_t xsize_t(off_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* in ctype.c, for kwset users */
|
/* in ctype.c, for kwset users */
|
||||||
extern const char tolower_trans_tbl[256];
|
extern const unsigned char tolower_trans_tbl[256];
|
||||||
|
|
||||||
/* Sane ctype - no locale, and works with signed chars */
|
/* Sane ctype - no locale, and works with signed chars */
|
||||||
#undef isascii
|
#undef isascii
|
||||||
|
8
kwset.c
8
kwset.c
@ -80,13 +80,13 @@ struct kwset
|
|||||||
struct trie *next[NCHAR]; /* Table of children of the root. */
|
struct trie *next[NCHAR]; /* Table of children of the root. */
|
||||||
char *target; /* Target string if there's only one. */
|
char *target; /* Target string if there's only one. */
|
||||||
int mind2; /* Used in Boyer-Moore search for one string. */
|
int mind2; /* Used in Boyer-Moore search for one string. */
|
||||||
char const *trans; /* Character translation table. */
|
unsigned char const *trans; /* Character translation table. */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Allocate and initialize a keyword set object, returning an opaque
|
/* Allocate and initialize a keyword set object, returning an opaque
|
||||||
pointer to it. Return NULL if memory is not available. */
|
pointer to it. Return NULL if memory is not available. */
|
||||||
kwset_t
|
kwset_t
|
||||||
kwsalloc (char const *trans)
|
kwsalloc (unsigned char const *trans)
|
||||||
{
|
{
|
||||||
struct kwset *kwset;
|
struct kwset *kwset;
|
||||||
|
|
||||||
@ -381,7 +381,7 @@ kwsprep (kwset_t kws)
|
|||||||
register struct kwset *kwset;
|
register struct kwset *kwset;
|
||||||
register int i;
|
register int i;
|
||||||
register struct trie *curr;
|
register struct trie *curr;
|
||||||
register char const *trans;
|
register unsigned char const *trans;
|
||||||
unsigned char delta[NCHAR];
|
unsigned char delta[NCHAR];
|
||||||
|
|
||||||
kwset = (struct kwset *) kws;
|
kwset = (struct kwset *) kws;
|
||||||
@ -590,7 +590,7 @@ cwexec (kwset_t kws, char const *text, size_t len, struct kwsmatch *kwsmatch)
|
|||||||
register int d;
|
register int d;
|
||||||
register char const *end, *qlim;
|
register char const *end, *qlim;
|
||||||
register struct tree const *tree;
|
register struct tree const *tree;
|
||||||
register char const *trans;
|
register unsigned char const *trans;
|
||||||
|
|
||||||
accept = NULL;
|
accept = NULL;
|
||||||
|
|
||||||
|
2
kwset.h
2
kwset.h
@ -39,7 +39,7 @@ typedef struct kwset_t* kwset_t;
|
|||||||
if enough memory cannot be obtained. The argument if non-NULL
|
if enough memory cannot be obtained. The argument if non-NULL
|
||||||
specifies a table of character translations to be applied to all
|
specifies a table of character translations to be applied to all
|
||||||
pattern and search text. */
|
pattern and search text. */
|
||||||
extern kwset_t kwsalloc(char const *);
|
extern kwset_t kwsalloc(unsigned char const *);
|
||||||
|
|
||||||
/* Incrementally extend the keyword set to include the given string.
|
/* Incrementally extend the keyword set to include the given string.
|
||||||
Return NULL for success, or an error message. Remember an index
|
Return NULL for success, or an error message. Remember an index
|
||||||
|
Loading…
Reference in New Issue
Block a user