[MEDIUM] acl: make use of get_std_op() to parse intger ranges
Using the common operator parser for the ACLs saves about 1.5 kB of code.
diff --git a/src/acl.c b/src/acl.c
index 4579e4c..927f7d0 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -694,13 +694,15 @@
while (!isdigit((unsigned char)*ptr)) {
- if (strcmp(ptr, "eq") == 0) *opaque = 0;
- else if (strcmp(ptr, "gt") == 0) *opaque = 1;
- else if (strcmp(ptr, "ge") == 0) *opaque = 2;
- else if (strcmp(ptr, "lt") == 0) *opaque = 3;
- else if (strcmp(ptr, "le") == 0) *opaque = 4;
- else
+ switch (get_std_op(ptr)) {
+ case STD_OP_EQ: *opaque = 0; break;
+ case STD_OP_GT: *opaque = 1; break;
+ case STD_OP_GE: *opaque = 2; break;
+ case STD_OP_LT: *opaque = 3; break;
+ case STD_OP_LE: *opaque = 4; break;
+ default:
return 0;
+ }
skip++;
ptr = text[skip];
@@ -780,13 +782,15 @@
while (!isdigit((unsigned char)*ptr)) {
- if (strcmp(ptr, "eq") == 0) *opaque = 0;
- else if (strcmp(ptr, "gt") == 0) *opaque = 1;
- else if (strcmp(ptr, "ge") == 0) *opaque = 2;
- else if (strcmp(ptr, "lt") == 0) *opaque = 3;
- else if (strcmp(ptr, "le") == 0) *opaque = 4;
- else
+ switch (get_std_op(ptr)) {
+ case STD_OP_EQ: *opaque = 0; break;
+ case STD_OP_GT: *opaque = 1; break;
+ case STD_OP_GE: *opaque = 2; break;
+ case STD_OP_LT: *opaque = 3; break;
+ case STD_OP_LE: *opaque = 4; break;
+ default:
return 0;
+ }
skip++;
ptr = text[skip];