From dba8326bdf5c9cda08d5bc70640371220bb18073 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Fri, 22 Mar 2019 14:25:12 +0800 Subject: [PATCH] pybind/rados: should pass "name" to cstr() it's a regression introduced by 6cb23f9c Signed-off-by: Kefu Chai --- src/pybind/rados/rados.pyx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pybind/rados/rados.pyx b/src/pybind/rados/rados.pyx index 9100c086eaa4..24da79c86cd1 100644 --- a/src/pybind/rados/rados.pyx +++ b/src/pybind/rados/rados.pyx @@ -556,9 +556,9 @@ def decode_cstr(val, encoding="utf-8"): return val.decode(encoding) -def flatten_dict(d): +def flatten_dict(d, name): items = chain.from_iterable(d.items()) - return cstr(''.join(i + '\0' for i in items)) + return cstr(''.join(i + '\0' for i in items), name) cdef char* opt_str(s) except? NULL: @@ -1532,7 +1532,7 @@ Rados object in state %s." % self.state) """ service = cstr(service, 'service') daemon = cstr(daemon, 'daemon') - metadata_dict = flatten_dict(metadata) + metadata_dict = flatten_dict(metadata, 'metadata') cdef: char *_service = service char *_daemon = daemon @@ -1545,7 +1545,7 @@ Rados object in state %s." % self.state) @requires(('metadata', dict)) def service_daemon_update(self, status): - status_dict = flatten_dict(status) + status_dict = flatten_dict(status, 'status') cdef: char *_status = status_dict -- 2.47.3