]> arthur.barton.de Git - netatalk.git/commitdiff
speed up validupath_adouble for the common case: it's not a file with a leading ...
authordidg <didg>
Sat, 7 Nov 2009 01:19:55 +0000 (01:19 +0000)
committerdidg <didg>
Sat, 7 Nov 2009 01:19:55 +0000 (01:19 +0000)
libatalk/vfs/vfs.c

index e72977dd77fe291be34ce3a7078183116942f1a9..a423bf63357eaa01ddeeccb5cd1d5b95c4b39dbe 100644 (file)
@@ -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");
 }                                           
 
 /* ----------------- */