Mercurial > public > mercurial-scm > hg-stable
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):