ctdb-scripts: Fix regression when cleaning up routing table IDs
authorMartin Schwenke <martin@meltin.net>
Sun, 15 Jan 2017 20:24:15 +0000 (07:24 +1100)
committerKarolin Seeger <kseeger@samba.org>
Wed, 25 Jan 2017 19:32:13 +0000 (20:32 +0100)
Commit 0ca00267cd2620a14968961738bcd2a69b597e95 removed explicit
continuations in strings for awk programs.  In one case this causes a
disconnect between condition and action, where an implicit
continuation does not work.  This results in duplicate lines in the
rt_tables file.

Move the opening brace for the action to make the implicit
continuation work as expected.

An alternative would be to revert the removal of the explicit
continuations and add shellcheck tags.  However, that doesn't mean
that an author of future code will necessarily use explicit
continuations, so the same mistake might still be make in the future.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12516

Reported-by: Barry Evans <bevans@pixitmedia.com>
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
(cherry picked from commit f9368f8e129cb32ee30cb6501a6fe728db37e1d5)

ctdb/config/events.d/13.per_ip_routing

index a7a23c02483b4759923d13ef1cc6dbe9910085ba..4fff73b40e124afc6053593a57dd4473c2f5cd20 100755 (executable)
@@ -184,8 +184,8 @@ clean_up_table_ids ()
            -v pre="$table_id_prefix" \
            '/^#/ ||
             !(min <= $1 && $1 <= max) &&
-            !(index($2, pre) == 1)
-            { print $0 }' "$rt_tables" >"$_tmp"
+            !(index($2, pre) == 1) {
+               print $0 }' "$rt_tables" >"$_tmp"
 
        mv "$_tmp" "$rt_tables"
     ) 9>"$rt_tables_lock"