svn commit: r227984 - head/bin/test
Jilles Tjoelker
jilles at FreeBSD.org
Fri Nov 25 23:45:29 UTC 2011
Author: jilles
Date: Fri Nov 25 23:45:29 2011
New Revision: 227984
URL: http://svn.freebsd.org/changeset/base/227984
Log:
test: Reduce code size of ops table.
Modified:
head/bin/test/test.c
Modified: head/bin/test/test.c
==============================================================================
--- head/bin/test/test.c Fri Nov 25 20:59:04 2011 (r227983)
+++ head/bin/test/test.c Fri Nov 25 23:45:29 2011 (r227984)
@@ -119,7 +119,7 @@ enum token_types {
};
static struct t_op {
- const char *op_text;
+ char op_text[4];
short op_num, op_type;
} const ops [] = {
{"-r", FILRD, UNOP},
@@ -162,7 +162,7 @@ static struct t_op {
{"-o", BOR, BBINOP},
{"(", LPAREN, PAREN},
{")", RPAREN, PAREN},
- {0, 0, 0}
+ {"", 0, 0}
};
static struct t_op const *t_wp_op;
@@ -427,7 +427,7 @@ t_lex(char *s)
t_wp_op = NULL;
return EOI;
}
- while (op->op_text) {
+ while (*op->op_text) {
if (strcmp(s, op->op_text) == 0) {
if (((op->op_type == UNOP || op->op_type == BUNOP)
&& isunopoperand()) ||
@@ -456,7 +456,7 @@ isunopoperand(void)
if (nargc == 2)
return parenlevel == 1 && strcmp(s, ")") == 0;
t = *(t_wp + 2);
- while (op->op_text) {
+ while (*op->op_text) {
if (strcmp(s, op->op_text) == 0)
return op->op_type == BINOP &&
(parenlevel == 0 || t[0] != ')' || t[1] != '\0');
@@ -478,7 +478,7 @@ islparenoperand(void)
return parenlevel == 1 && strcmp(s, ")") == 0;
if (nargc != 3)
return 0;
- while (op->op_text) {
+ while (*op->op_text) {
if (strcmp(s, op->op_text) == 0)
return op->op_type == BINOP;
op++;
More information about the svn-src-head
mailing list