On 26 June 2018 at 11:40, Jouke Witteveen <j.wittev...@gmail.com> wrote: > On Tue, Jun 26, 2018 at 12:27 PM Emil Velikov <emil.l.veli...@gmail.com> > wrote: >> >> From: Emil Velikov <emil.veli...@collabora.com> >> >> Currently each profile is handles in two stages: >> - a unique value is returned for a set of patterns matches >> - depending on the value the profile/essid is added to global lists >> >> A shorter and simpler solution is to omit the unnecessary value >> passing/processing all together. >> >> Cc: Jouke Witteveen <j.wittev...@gmail.com> >> Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> >> --- >> Jouke, let me know if you'd like this rebased on top of your patch. >> Pardon if you're getting this twice. The initial submission was rejected >> by the ML :-\ >> --- >> src/wifi-menu | 40 ++++++++++++++-------------------------- >> 1 file changed, 14 insertions(+), 26 deletions(-) >> >> diff --git a/src/wifi-menu b/src/wifi-menu >> index 42c4c53..928cf5e 100755 >> --- a/src/wifi-menu >> +++ b/src/wifi-menu >> @@ -29,34 +29,22 @@ quote_safe() { >> fi >> } >> >> -# Fill PROFILES and ESSIDS with the profile names and essids of the profiles >> -# for interface $1 >> +# Fill GENERATED, PROFILES and ESSIDS with the profile names and essids of >> the > > Ah, right. I'll add "GENERATED". > >> +# profiles for interface $1 >> init_profiles() { >> - local i=0 essid profile >> + local i=0 profile >> while IFS= read -r profile; do >> - essid=$( >> - unset Interface ESSID >> - source "$PROFILE_DIR/$profile" > /dev/null >> - if [[ "$Interface" = "$1" && -n "$ESSID" ]]; then >> - printf "%s" "$ESSID" >> - if [[ "$Description" =~ "Automatically generated" ]]; then >> - return 2 >> - else >> - return 1 >> - fi >> - fi >> - return 0 >> - ) >> - case $? in >> - 2) >> - GENERATED+=("$profile") >> - ;& >> - 1) >> - PROFILES[i]=$profile >> - ESSIDS[i]=$essid >> - (( ++i )) >> - ;; >> - esac > > Okay, I'll add a comment explaining that we do things this way for > sandboxing reasons. We want to source the profile in a subshell to > contain any side-effects. > Hmm, I did not think of that one. Thanks for the prompt explanation.
-Emil