Mercurial > hg
changeset 23393:c834c0194dbb
factotum: convert Plan 9 quoted string to Python string
author | David Eckhardt <David.Eckhardt@cs.cmu.edu> |
---|---|
date | Tue, 25 Nov 2014 02:31:52 -0600 |
parents | d66547df8207 |
children | b5e2128ce9e6 |
files | hgext/factotum.py |
diffstat | 1 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/factotum.py Tue Nov 25 02:27:31 2014 -0600 +++ b/hgext/factotum.py Tue Nov 25 02:31:52 2014 -0600 @@ -72,9 +72,14 @@ l = os.read(fd, ERRMAX).split() if l[0] == 'ok': os.write(fd, 'read') - l = os.read(fd, ERRMAX).split() - if l[0] == 'ok': - return l[1:] + status, user, passwd = os.read(fd, ERRMAX).split(None, 2) + if status == 'ok': + if passwd.startswith("'"): + if passwd.endswith("'"): + passwd = passwd[1:-1].replace("''", "'") + else: + raise util.Abort(_('malformed password string')) + return (user, passwd) except (OSError, IOError): raise util.Abort(_('factotum not responding')) finally: