diff --git a/src/66/66-all.c b/src/66/66-all.c index 838f115972a57ecc59315b564e61d8833b58b5e7..5cf7d30a7b97210c2c53e14273b6031783220a20 100644 --- a/src/66/66-all.c +++ b/src/66/66-all.c @@ -82,11 +82,9 @@ int doit(char const *tree,char const *treename,char const *live, unsigned int wh src[livelen + SS_STATE_LEN + 1 + ownerlen + 1 + treenamelen] = 0 ; if (!dir_get(&ga,src,"init",S_IFREG)) - { - VERBO1 strerr_warnwu3x("Empty tree: ",treename,": nothing to do") ; - goto freed ; - } - + strerr_diefu2sys(111,"get state file from directory: ",src) ; + + if (genalloc_len(stralist,&ga)) { char const *newargv[10 + genalloc_len(stralist,&ga)] ; unsigned int m = 0 ; @@ -122,7 +120,8 @@ int doit(char const *tree,char const *treename,char const *live, unsigned int wh } if (wstat) goto err ; } - freed: + else VERBO1 strerr_warni3x("Empty tree: ",treename," -- nothing to do") ; + genalloc_deepfree(stralist,&ga,stra_free) ; return 1 ; err: