Only a few cases are allowed: 1) The expression is empty for "for" loop, E.g. for (i = 0; ; i++) 2) An empty statement while (write(statuswrite, &status, 1) == -1 && errno == EINTR) ; /* empty */ 3) ";" is inside double-quote, I.e, as part of const string. E.g. vshPrint(ctl, "a ; b ; cd;\n"); The "for" loop in src/rpc/virnettlscontext.c is the special case, 1) applies for it, so change it together in this patch. --- build-aux/bracket-spacing.pl | 18 ++++++++++++++++++ src/rpc/virnettlscontext.c | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/build-aux/bracket-spacing.pl b/build-aux/bracket-spacing.pl index d3a916f..0d5d2ed 100755 --- a/build-aux/bracket-spacing.pl +++ b/build-aux/bracket-spacing.pl @@ -109,6 +109,24 @@ foreach my $file (@ARGV) { $ret = 1; last; } + + # Forbid whitespace before ";". Things like below are allowed: + # + # for (i = 0; ; i++) + # + # while (write(statuswrite, &status, 1) == -1 && + # errno == EINTR) + # ; + # + # printf("%s", "a ; b\n"); + while ($data =~ /[^;\s]\s+;/) { + # Inside the double-quote + if ($data !~ /"[^"]*\s;/) { + print "$file:$.: $line"; + $ret = 1; + } + last; + } } close FILE; } diff --git a/src/rpc/virnettlscontext.c b/src/rpc/virnettlscontext.c index 1a7ccb8..305eee9 100644 --- a/src/rpc/virnettlscontext.c +++ b/src/rpc/virnettlscontext.c @@ -292,7 +292,7 @@ static int virNetTLSContextCheckCertKeyPurpose(gnutls_x509_crt_t cert, bool allowClient = false, allowServer = false; critical = 0; - for (i = 0 ; ; i++) { + for (i = 0; ; i++) { size = 0; status = gnutls_x509_crt_get_key_purpose_oid(cert, i, buffer, &size, NULL); -- 1.8.1.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list