Mercurial > public > mercurial-scm > hg
comparison mercurial/sshserver.py @ 13721:3458c15ab2f0
wireproto: fix handling of '*' args for HTTP and SSH
author | Peter Arrenbrecht <peter.arrenbrecht@gmail.com> |
---|---|
date | Tue, 22 Mar 2011 07:38:32 +0100 |
parents | cc9bf81382f5 |
children | 659f34b833b9 |
comparison
equal
deleted
inserted
replaced
13720:9c4e04fe267e | 13721:3458c15ab2f0 |
---|---|
28 data = {} | 28 data = {} |
29 keys = args.split() | 29 keys = args.split() |
30 for n in xrange(len(keys)): | 30 for n in xrange(len(keys)): |
31 argline = self.fin.readline()[:-1] | 31 argline = self.fin.readline()[:-1] |
32 arg, l = argline.split() | 32 arg, l = argline.split() |
33 val = self.fin.read(int(l)) | |
34 if arg not in keys: | 33 if arg not in keys: |
35 raise util.Abort("unexpected parameter %r" % arg) | 34 raise util.Abort("unexpected parameter %r" % arg) |
36 if arg == '*': | 35 if arg == '*': |
37 star = {} | 36 star = {} |
38 for n in xrange(int(l)): | 37 for k in xrange(int(l)): |
38 argline = self.fin.readline()[:-1] | |
39 arg, l = argline.split() | 39 arg, l = argline.split() |
40 val = self.fin.read(int(l)) | 40 val = self.fin.read(int(l)) |
41 star[arg] = val | 41 star[arg] = val |
42 data['*'] = star | 42 data['*'] = star |
43 else: | 43 else: |
44 val = self.fin.read(int(l)) | |
44 data[arg] = val | 45 data[arg] = val |
45 return [data[k] for k in keys] | 46 return [data[k] for k in keys] |
46 | 47 |
47 def getarg(self, name): | 48 def getarg(self, name): |
48 return self.getargs(name)[0] | 49 return self.getargs(name)[0] |