From f9530168f49f917cd60140fc2e979ae68ddddbbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Mon, 3 Sep 2018 15:54:30 +0200 Subject: [PATCH] [poincare] Fix Integer::serialize --- poincare/src/integer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/poincare/src/integer.cpp b/poincare/src/integer.cpp index 54ef043e5..320b9e10c 100644 --- a/poincare/src/integer.cpp +++ b/poincare/src/integer.cpp @@ -256,7 +256,7 @@ int Integer::serialize(char * buffer, int bufferSize) const { while (!(d.remainder.isZero() && d.quotient.isZero())) { - char c = char_from_digit(d.remainder.digit(0)); + char c = char_from_digit(d.remainder.isZero() ? 0 : d.remainder.digit(0)); if (size >= bufferSize-1) { return strlcpy(buffer, "undef", bufferSize); } @@ -266,7 +266,7 @@ int Integer::serialize(char * buffer, int bufferSize) const { buffer[size] = 0; // Flip the string - for (int i=0, j=size-1 ; i < j ; i++, j--) { + for (int i = m_negative, j=size-1 ; i < j ; i++, j--) { char c = buffer[i]; buffer[i] = buffer[j]; buffer[j] = c;