]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
lib/file: an optimization
authorVMware, Inc <>
Tue, 28 Jun 2011 19:51:17 +0000 (12:51 -0700)
committerMarcelo Vanzin <mvanzin@vmware.com>
Tue, 28 Jun 2011 19:51:17 +0000 (12:51 -0700)
We can avoid a loop.

Signed-off-by: Marcelo Vanzin <mvanzin@vmware.com>
open-vm-tools/lib/file/fileTemp.c

index 365ccfd5816197a2e55cea59da39a2cf58841a66..df33d9dd1f5f09b524dcbb4ed11db5a5bb061ca0 100644 (file)
@@ -69,15 +69,10 @@ static void
 FileTempNum(Bool createTempFile,  // IN:
             uint32 *var)          // IN/OUT:
 {
-   uint32 delta;
-
    ASSERT(var);
 
-   do {
-      delta = (FileSimpleRandom() >> 8) & 0xFF;
-   } while (((*var + delta) & 0x1) != (createTempFile ? 1 : 0));
-
-   *var += delta;
+   *var += (FileSimpleRandom() >> 8) & 0xFF;
+   *var = (*var & ~0x1) | (createTempFile ? 1 : 0);
 }