Procházet zdrojové kódy

libdpkg: Slightly optimize order() checks

Reorganize code to first do checks on most commonly expected character.
First digits, then alphabetical, then the tilde, followed by any non NUL
character and finally the NUL character.
Guillem Jover před 15 roky
rodič
revize
d3de9d66d6
1 změnil soubory, kde provedl 6 přidání a 6 odebrání
  1. 6 6
      lib/dpkg/vercmp.c

+ 6 - 6
lib/dpkg/vercmp.c

@@ -43,16 +43,16 @@ epochsdiffer(const struct versionrevision *a,
 static int
 order(int c)
 {
-  if (c == '~')
-    return -1;
-  else if (cisdigit(c))
-    return 0;
-  else if (!c)
+  if (cisdigit(c))
     return 0;
   else if (cisalpha(c))
     return c;
-  else
+  else if (c == '~')
+    return -1;
+  else if (c)
     return c + 256;
+  else
+    return 0;
 }
 
 static int verrevcmp(const char *val, const char *ref) {