We need to quote the decode_val assignment which we pass to 'eval',
because $val may be the string (empty), and assignments of the form
decode_val=(empty) are rejected by dash and other shells.
#!/bin/sh
#
# Check various corner cases of upkg_decode_index.
-# Copyright © 2012 Nick Bowler
+# Copyright © 2012, 2022 Nick Bowler
#
# License WTFPL2: Do What The Fuck You Want To Public License, version 2.
# This is free software: you are free to do what the fuck you want to.
{ $decodeindex "$1" 3>&-
echo decode_status=$? >&3
} | { read val 3>&-
- echo decode_val=$val >&3
+ echo decode_val=\'$val\' >&3;
}`
eval "$decode_cmd"