From bdd68868836f01ac766afa1a6c79a5f7d4287da6 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Wed, 10 Dec 2014 08:56:48 +0200 Subject: Fix coredump when comparing non-existing nodes. * lib/forlan.c (coerce_value): Handle NULL nodes. (values_equal): Handle NULL strings. (dump_expr): Handle EQ and NE. * lib/forlanlex.l: Fix distinction before negative numeric and identifier. * etc/describe-security-groups.fln: ipProtocol == "-1" means "all". * tests/Makefile.am: Add new tests. * tests/testsuite.at: Likewise. * tests/comp00.at: New file. * tests/comp01.at: New file. * tests/comp02.at: New file. * tests/comp03.at: New file. * tests/comp04.at: New file. * tests/tforlan.c (main): Optionally read XML from standard input. --- etc/describe-security-groups.fln | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'etc/describe-security-groups.fln') diff --git a/etc/describe-security-groups.fln b/etc/describe-security-groups.fln index 12a1379..4765c4a 100644 --- a/etc/describe-security-groups.fln +++ b/etc/describe-security-groups.fln @@ -25,7 +25,11 @@ if (.DescribeSecurityGroupsResponse.securityGroupInfo) { print("Incoming:\n"); for (var in grp.ipPermissions.item) { for (range in var.ipRanges.item) { - print(var.ipProtocol,"\t",range.cidrIp,"\t",var.fromPort); + if (var.ipProtocol == "-1") + print("all"); + else + print(var.ipProtocol); + print("\t",range.cidrIp,"\t",var.fromPort); if (var.fromPort != var.toPort) print("-",var.toPort); print("\n"); @@ -42,7 +46,11 @@ if (.DescribeSecurityGroupsResponse.securityGroupInfo) { print("Outgoing:\n"); for (var in grp.ipPermissionsEgress.item) { for (range in var.ipRanges.item) { - print(var.ipProtocol,"\t",range.cidrIp,"\t",var.fromPort); + if (var.ipProtocol == "-1") + print("all"); + else + print(var.ipProtocol); + print("\t",range.cidrIp,"\t",var.fromPort); if (var.fromPort != var.toPort) print("-",var.toPort); print("\n"); -- cgit v1.2.1