summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Levert <charles_levert@gna.org>2005-07-04 04:39:03 +0000
committerCharles Levert <charles_levert@gna.org>2005-07-04 04:39:03 +0000
commit52d197e653e31daa82c369e74ec889393dafc1a7 (patch)
tree95867cef3b74408a02333bd16d3c22a660095776
parent69a9de6ffff5808a5b887ac3e3120f787ff5843c (diff)
downloadgrep-52d197e653e31daa82c369e74ec889393dafc1a7.tar.gz
* src/kwset.c (kwsprep): Use memset() and memcpy() when appropriate.
-rw-r--r--ChangeLog2
-rw-r--r--src/kwset.c13
2 files changed, 5 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 2dd76390..6c04f925 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}