Fix small breakages in bash versions
[advent-of-code-2020.git] / day4 / count_valid_passports.sh
index 17c7ffc77aa6aabac36c2098efaf90e2b886ee2b..4a447ee652b10a4dfa91009853f8cad44df1324e 100644 (file)
@@ -24,6 +24,18 @@ if [ "$cur_data" != "" ]; then
     data+=("$cur_data")
 fi
 
+verify_data() {
+    local -n record=$1
+
+    for field in ${required_fields[@]}; do
+        if ! [ ${kvp[$field]+a} ]; then
+            exit 1
+        fi
+    done
+
+    exit 0
+}
+
 for (( i=0; i<${#data[@]}; i++ )); do
     record="${data[$i]}"
     declare -A kvp
@@ -32,12 +44,9 @@ for (( i=0; i<${#data[@]}; i++ )); do
         value=${field#*:}
         kvp[$key]=$value
     done
-    for field in ${required_fields[@]}; do
-        if ! [ ${kvp[$field]+a} ]; then
-            continue 2
-        fi
-    done
-    valid_count=$((valid_count+1))
+    if ( verify_data kvp ); then
+        valid_count=$((valid_count+1))
+    fi
     unset kvp
 done