From: Sage Weil Date: Mon, 8 Jul 2019 20:21:51 +0000 (-0500) Subject: include/encoding: fix encode/decode for signed durations X-Git-Tag: v15.1.0~2136^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ad03fb5b8023ef7659077c9a0142c82bda0f7a8e;p=ceph.git include/encoding: fix encode/decode for signed durations Signed-off-by: Sage Weil --- diff --git a/src/include/encoding.h b/src/include/encoding.h index 42f4e6905046..1df65ad14cef 100644 --- a/src/include/encoding.h +++ b/src/include/encoding.h @@ -312,8 +312,8 @@ template& d, ceph::bufferlist &bl) { using namespace std::chrono; - uint32_t s = duration_cast(d).count(); - uint32_t ns = (duration_cast(d) % seconds(1)).count(); + int32_t s = duration_cast(d).count(); + int32_t ns = (duration_cast(d) % seconds(1)).count(); encode(s, bl); encode(ns, bl); } @@ -322,8 +322,8 @@ template>* = nullptr> void decode(std::chrono::duration& d, bufferlist::const_iterator& p) { - uint32_t s; - uint32_t ns; + int32_t s; + int32_t ns; decode(s, p); decode(ns, p); d = std::chrono::seconds(s) + std::chrono::nanoseconds(ns);