From b68f217b9f84112647fae7087f6e62f5328c3f42 Mon Sep 17 00:00:00 2001 From: didg Date: Sat, 7 Nov 2009 01:19:55 +0000 Subject: [PATCH] speed up validupath_adouble for the common case: it's not a file with a leading '.' or it's .AppleDouble --- libatalk/vfs/vfs.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libatalk/vfs/vfs.c b/libatalk/vfs/vfs.c index e72977dd..a423bf63 100644 --- a/libatalk/vfs/vfs.c +++ b/libatalk/vfs/vfs.c @@ -86,15 +86,20 @@ for_each_adouble(const char *from, const char *name, rf_loop fn, void *data, int static int netatalk_name(const char *name) { - return strcasecmp(name,".AppleDB") && - strcasecmp(name,".AppleDouble") && + return strcasecmp(name,".AppleDouble") && + strcasecmp(name,".AppleDB") && strcasecmp(name,".AppleDesktop"); } static int validupath_adouble(VFS_FUNC_ARGS_VALIDUPATH) { - return (vol->v_flags & AFPVOL_USEDOTS) ? - netatalk_name(name) && strcasecmp(name,".Parent"): name[0] != '.'; + if (name[0] != '.') + return 1; + + if (!(vol->v_flags & AFPVOL_USEDOTS)) + return 0; + + return netatalk_name(name) && strcasecmp(name,".Parent"); } /* ----------------- */ -- 2.39.2