aboutsummaryrefslogtreecommitdiff
path: root/lpcset.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-04-27 11:03:30 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-04-27 11:03:30 -0300
commit97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125 (patch)
tree3ec0442b2f1ce9f3a081da5cf14f281b2d2811d5 /lpcset.c
parent012cf9c86cf91cb8354e229bde335592d41b84b2 (diff)
downloadlpeg-97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125.tar.gz
lpeg-97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125.tar.bz2
lpeg-97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125.zip
New macros 'fillset' and 'clearset'
Diffstat (limited to 'lpcset.c')
-rw-r--r--lpcset.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lpcset.c b/lpcset.c
index 2e62d94..2dcffd9 100644
--- a/lpcset.c
+++ b/lpcset.c
@@ -76,21 +76,21 @@ int tocharset (TTree *tree, Charset *cs) {
76 switch (tree->tag) { 76 switch (tree->tag) {
77 case TChar: { /* only one char */ 77 case TChar: { /* only one char */
78 assert(0 <= tree->u.n && tree->u.n <= UCHAR_MAX); 78 assert(0 <= tree->u.n && tree->u.n <= UCHAR_MAX);
79 loopset(i, cs->cs[i] = 0); /* erase all chars */ 79 clearset(cs->cs); /* erase all chars */
80 setchar(cs->cs, tree->u.n); /* add that one */ 80 setchar(cs->cs, tree->u.n); /* add that one */
81 return 1; 81 return 1;
82 } 82 }
83 case TAny: { 83 case TAny: {
84 loopset(i, cs->cs[i] = 0xFF); /* add all characters to the set */ 84 fillset(cs->cs, 0xFF); /* add all characters to the set */
85 return 1; 85 return 1;
86 } 86 }
87 case TFalse: { 87 case TFalse: {
88 loopset(i, cs->cs[i] = 0); /* empty set */ 88 clearset(cs->cs); /* empty set */
89 return 1; 89 return 1;
90 } 90 }
91 case TSet: { /* fill set */ 91 case TSet: { /* fill set */
92 int i; 92 int i;
93 loopset(j, cs->cs[j] = tree->u.set.deflt); 93 fillset(cs->cs, tree->u.set.deflt);
94 for (i = 0; i < tree->u.set.size; i++) 94 for (i = 0; i < tree->u.set.size; i++)
95 cs->cs[tree->u.set.offset + i] = treebuffer(tree)[i]; 95 cs->cs[tree->u.set.offset + i] = treebuffer(tree)[i];
96 return 1; 96 return 1;