From 119d7478d1a7d59a0fa5a02690b2555ac2c3ed89 Mon Sep 17 00:00:00 2001
From: Nathan Sidwell <nathan@acm.org>
Date: Mon, 21 Dec 2020 05:38:34 -0800
Subject: [PATCH] libcody: to_string is not always available [PR 98412]

to_string is not always available, so don't use it.

	libcody/
	* buffer.cc (MessageBuffer::AppendInteger): Workaround
	to_string's non-ubiquity.
---
 libcody/buffer.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libcody/buffer.cc b/libcody/buffer.cc
index 3256c37399bc..85c066fef715 100644
--- a/libcody/buffer.cc
+++ b/libcody/buffer.cc
@@ -146,7 +146,13 @@ void MessageBuffer::Append (char c)
 
 void MessageBuffer::AppendInteger (unsigned u)
 {
-  std::string v (std::to_string (u));
+  // Sigh, even though std::to_string is C++11, we support building on
+  // gcc 4.8, which is a C++11 compiler lacking std::to_string.  so
+  // have something horrible.
+  std::string v (20, 0);
+  size_t len = snprintf (const_cast<char *> (v.data ()), v.size (), "%u", u);
+  v.erase (len);
+
   AppendWord (v);
 }
 
-- 
GitLab