projects
/
advent-of-code-2020.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix small breakages in bash versions
[advent-of-code-2020.git]
/
day4
/
count_valid_passports.sh
diff --git
a/day4/count_valid_passports.sh
b/day4/count_valid_passports.sh
index 17c7ffc77aa6aabac36c2098efaf90e2b886ee2b..4a447ee652b10a4dfa91009853f8cad44df1324e 100644
(file)
--- a/
day4/count_valid_passports.sh
+++ b/
day4/count_valid_passports.sh
@@
-24,6
+24,18
@@
if [ "$cur_data" != "" ]; then
data+=("$cur_data")
fi
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
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
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
unset kvp
done