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]