fix recurse call, rename readlink to _readlink.