# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # n() { echo $#; } set -- n "$@" # should be 1 n "$@"'' n ''"$@" n ''"$@"'' set -- '' n "$@" # should be 1 n "$@"'' n ''"$@" n ''"$@"'' set -- '' '' n "$@" # should be 2 n ''"$@" # should be 2 n "$@"'' # should be 2 n ''"$@"'' x=x set -- n ${x+"$@"} # should be 1 n ${x+"$@"''} n ${x+''"$@"} n ${x+''"$@"''} set -- '' n ${x+"$@"} # should be 1 n ${x+"$@"''} n ${x+''"$@"} n ${x+''"$@"''} set -- '' '' n ${x+"$@"} # should be 2 n ${x+''"$@"} # should be 2 n ${x+"$@"''} # should be 2 n ${x+''"$@"''} set -- n "$@" "$@" n "$@""$@" n ${x+"$@" "$@"} set -- '' n ${x+"$@" "$@"} n "$@" "$@" set -- '' '' n ${x+"$@" "$@"} n "$@" "$@" n "$@""$@" # new tests unset -v x v=$'\177' recho ''$'\177''' recho $'\177''' recho ''$'\177' recho ''$v'' recho ''$v recho $v''