# HG changeset patch # User Olaf Wintermann # Date 1530206542 -7200 # Node ID def0359fb48f282c8a9894af6f45f7ea44895335 # Parent bc173bae3caa2167de86dd4833e5a2554295ea65 adds some error detection to completion diff -r bc173bae3caa -r def0359fb48f dav/main.c --- a/dav/main.c Thu Jun 28 18:55:14 2018 +0200 +++ b/dav/main.c Thu Jun 28 19:22:22 2018 +0200 @@ -2142,7 +2142,7 @@ } DavResource *ls = dav_query(sn, "select - from %s order by name", lspath); - DavResource *elm = ls->children; + DavResource *elm = ls ? ls->children : NULL; while(elm) { sstr_t name = sstr(elm->name); if(sstrprefix(name, filter)) { diff -r bc173bae3caa -r def0359fb48f scripts/dav-bash-completion.bash --- a/scripts/dav-bash-completion.bash Thu Jun 28 18:55:14 2018 +0200 +++ b/scripts/dav-bash-completion.bash Thu Jun 28 19:22:22 2018 +0200 @@ -4,17 +4,19 @@ local cmd_res davcmd="${COMP_WORDS[0]}" - out=$( $davcmd complete $COMP_CWORD "${COMP_WORDS[@]}" ) - cmd_res=$? + out=$( $davcmd complete $COMP_CWORD "${COMP_WORDS[@]}" ) + cmd_res=$? - if [ $cmd_res == 10 ]; then - compopt -o nospace - fi - if [ $cmd_res == 12 ]; then - compopt -o default - COMPREPLY=() - else + if [ $cmd_res == 10 ]; then + compopt -o nospace + fi + if [ $cmd_res == 12 ]; then + compopt -o default + COMPREPLY=() + else IFS=$'\n' declare -ga 'COMPREPLY=($out)' - fi + fi } +complete -F dav_completion dav +