X-Git-Url: https://git.sommitrealweird.co.uk/advent-of-code-2020.git/blobdiff_plain/1ae258d79ba91cb6215a62a011fca7936c06d9df..cbae7f56fa71a044b470e77b689cb8a0c0a46733:/day4/count_valid_passports.sh diff --git a/day4/count_valid_passports.sh b/day4/count_valid_passports.sh index 17c7ffc..4a447ee 100644 --- a/day4/count_valid_passports.sh +++ b/day4/count_valid_passports.sh @@ -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