From: runsisi Date: Tue, 22 Jan 2019 02:21:40 +0000 (+0800) Subject: pybind/rados: fix application metadata list X-Git-Tag: v14.1.0~229^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=29d6280d3af69065aeca7e72cd3c87a234c8fdce;p=ceph.git pybind/rados: fix application metadata list otherwise if we set metadata to [('k1', 'v1'), ('k2', ''), ('k3', 'v3')], we will get the following: [('k1', 'v1'), ('k2', 'v3')] Signed-off-by: runsisi --- diff --git a/src/pybind/rados/rados.pyx b/src/pybind/rados/rados.pyx index f65b10d01389..9456f9538e40 100644 --- a/src/pybind/rados/rados.pyx +++ b/src/pybind/rados/rados.pyx @@ -3870,10 +3870,10 @@ returned %d, but should return zero on success." % (self.name, ret)) c_vals, &val_length) if ret == 0: keys = [decode_cstr(key) for key in - c_keys[:key_length].split(b'\0') if key] + c_keys[:key_length].split(b'\0')] vals = [decode_cstr(val) for val in - c_vals[:val_length].split(b'\0') if val] - return zip(keys, vals) + c_vals[:val_length].split(b'\0')] + return zip(keys, vals)[:-1] elif ret == -errno.ERANGE: pass else: