ztat() blindly tries both escaped and unescaped names which sometimes may lead to funny results: localhost% ls -F \* \\\*/ localhost% l \\\*/ \\\*/ \\\\\\\*/ both are marked as directories because first time it checks escaped \* and finds another one (which is directory now). I am mostly concerned with unpredictable side effects with multibyte character sets. -andrey