diff options
author | Charles Levert <charles_levert@gna.org> | 2005-07-04 04:39:03 +0000 |
---|---|---|
committer | Charles Levert <charles_levert@gna.org> | 2005-07-04 04:39:03 +0000 |
commit | 52d197e653e31daa82c369e74ec889393dafc1a7 (patch) | |
tree | 95867cef3b74408a02333bd16d3c22a660095776 | |
parent | 69a9de6ffff5808a5b887ac3e3120f787ff5843c (diff) | |
download | grep-52d197e653e31daa82c369e74ec889393dafc1a7.tar.gz |
* src/kwset.c (kwsprep): Use memset() and memcpy() when appropriate.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/kwset.c | 13 |
2 files changed, 5 insertions, 10 deletions
@@ -4,6 +4,8 @@ Replace uses of 0 for pointer values by NULL. Generalize use of existing U() macro to whole file. + * src/kwset.c (kwsprep): Use memset() and memcpy() when appropriate. + 2005-06-22 Charles Levert <charles_levert@gna.org> * grep/autogen.sh, grep/src/Makefile.am, grep/tests/backref.sh, diff --git a/src/kwset.c b/src/kwset.c index c7dcc3c2..d1760566 100644 --- a/src/kwset.c +++ b/src/kwset.c @@ -388,12 +388,7 @@ kwsprep (kwset_t kws) /* Initial values for the delta table; will be changed later. The delta entry for a given character is the smallest depth of any node at which an outgoing edge is labeled by that character. */ - if (kwset->mind < 256) - for (i = 0; i < NCHAR; ++i) - delta[i] = kwset->mind; - else - for (i = 0; i < NCHAR; ++i) - delta[i] = 255; + memset(delta, kwset->mind < UCHAR_MAX ? kwset->mind : UCHAR_MAX, NCHAR); /* Check if we can use the simple boyer-moore algorithm, instead of the hairy commentz-walter algorithm. */ @@ -473,8 +468,7 @@ kwsprep (kwset_t kws) for (i = 0; i < NCHAR; ++i) kwset->next[i] = next[U(trans[i])]; else - for (i = 0; i < NCHAR; ++i) - kwset->next[i] = next[i]; + memcpy(kwset->next, next, NCHAR * sizeof(struct trie *)); } /* Fix things up for any translation table. */ @@ -482,8 +476,7 @@ kwsprep (kwset_t kws) for (i = 0; i < NCHAR; ++i) kwset->delta[i] = delta[U(trans[i])]; else - for (i = 0; i < NCHAR; ++i) - kwset->delta[i] = delta[i]; + memcpy(kwset->delta, delta, NCHAR); return NULL; } |