+ if ( (ret = lchdir(p )) != 0 ) {
+ LOG(log_debug, logtype_afpd, "movecwd('%s'): ret:%d, %u/%s", p, ret, errno, strerror(errno));
+
+ if (ret == 1) {
+ /* p is a symlink or getcwd failed */
+ afp_errno = AFPERR_BADTYPE;
+ vol->v_curdir = curdir = vol->v_dir;
+ if (chdir(vol->v_path ) < 0) {
+ LOG(log_debug, logtype_afpd, "can't chdir back'%s': %s", vol->v_path, strerror(errno));
+ /* XXX what do we do here? */
+ }
+ return -1;
+ }