diff mercurial/lock.py @ 2579:0875cda033fd

use __contains__, index or split instead of str.find str.find return -1 when the substring is not found, -1 evaluate to True and is a valid index, which can lead to bugs. Using alternatives when possible makes the code clearer and less prone to bugs. (and __contains__ is faster in microbenchmarks)
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Sun, 09 Jul 2006 01:30:30 +0200
parents ff5c9a92f556
children 345bac2bc4ec
line wrap: on
line diff
--- a/mercurial/lock.py	Sat Jul 08 16:55:49 2006 +0200
+++ b/mercurial/lock.py	Sun Jul 09 01:30:30 2006 +0200
@@ -85,14 +85,14 @@
         # see if locker is alive.  if locker is on this machine but
         # not alive, we can safely break lock.
         locker = util.readlock(self.f)
-        c = locker.find(':')
-        if c == -1:
+        try:
+            host, pid = locker.split(":", 1)
+        except ValueError:
             return locker
-        host = locker[:c]
         if host != self.host:
             return locker
         try:
-            pid = int(locker[c+1:])
+            pid = int(pid)
         except:
             return locker
         if util.testpid(pid):