From 3fad0a7693a566716e57708bc033977a76568a4e Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 12 Dec 2018 19:27:58 +0300 Subject: [PATCH] Truncate bytes when output them to string. GitOrigin-RevId: 07e394956b13579ad54c47ba02f0507e55feb9c3 --- tdutils/td/utils/tl_storers.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tdutils/td/utils/tl_storers.h b/tdutils/td/utils/tl_storers.h index c9caeb87..5a0147c6 100644 --- a/tdutils/td/utils/tl_storers.h +++ b/tdutils/td/utils/tl_storers.h @@ -6,6 +6,7 @@ // #pragma once +#include "td/utils/common.h" #include "td/utils/int_types.h" #include "td/utils/logging.h" #include "td/utils/misc.h" @@ -221,13 +222,19 @@ class TlStorerToString { result.append("bytes ["); store_long(static_cast(value.size())); result.append("] { "); - for (size_t i = 0; i < value.size(); i++) { + size_t len = min(static_cast(64), value.size()); + for (size_t i = 0; i < len; i++) { int b = value[static_cast(i)] & 0xff; result += hex[b >> 4]; result += hex[b & 15]; - result += ' '; + if (i != len) { + result += ' '; + } } - result.append("}"); + if (len < value.size()) { + result.append(" ..."); + } + result += '}'; store_field_end(); }