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-all mailing list