actions: change expression logging to not print brackets if test has no arguments
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
diff --git a/squashfs-tools/action.c b/squashfs-tools/action.c
index 3dccde5..024456c 100644
--- a/squashfs-tools/action.c
+++ b/squashfs-tools/action.c
@@ -671,13 +671,16 @@
return;
expr_log(atom->test->name);
- expr_log("(");
- for(i = 0; i < atom->args; i++) {
- expr_log(atom->argv[i]);
- if (i + 1 < atom->args)
- expr_log(",");
+
+ if(atom->args) {
+ expr_log("(");
+ for(i = 0; i < atom->args; i++) {
+ expr_log(atom->argv[i]);
+ if (i + 1 < atom->args)
+ expr_log(",");
+ }
+ expr_log(")");
}
- expr_log(")");
}
@@ -3121,16 +3124,19 @@
#ifdef SQUASHFS_TRACE
static void dump_parse_tree(struct expr *expr)
{
- if(expr->type == ATOM_TYPE) {
- int i;
+ int i;
- printf("%s(", expr->atom.test->name);
- for(i = 0; i < expr->atom.args; i++) {
- printf("%s", expr->atom.argv[i]);
- if (i + 1 < expr->atom.args)
- printf(",");
+ if(expr->type == ATOM_TYPE) {
+ printf("%s", expr->atom.test->name);
+ if(expr->atom.args) {
+ printf("(");
+ for(i = 0; i < expr->atom.args; i++) {
+ printf("%s", expr->atom.argv[i]);
+ if (i + 1 < expr->atom.args)
+ printf(",");
+ }
+ printf(")");
}
- printf(")");
} else if (expr->type == UNARY_TYPE) {
printf("%s", token_table[expr->unary_op.op].string);
dump_parse_tree(expr->unary_op.expr);