mercurial/sshserver.py
changeset 13721 3458c15ab2f0
parent 13719 cc9bf81382f5
child 14233 659f34b833b9
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]