From 58f5ca6d8405e98ea194d9fb9f41f27318cf61a5 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Sat, 30 May 2015 06:12:00 -0400 Subject: [PATCH] Fixed bug in String_Type::replace(). Added static_cast in Socket::accept() (disable warning). --- Jupiter/Socket.cpp | 2 +- Jupiter/String_Type_Imp.h | 17 ++++++++++------- Release/Jupiter.lib | Bin 267778 -> 268568 bytes 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Jupiter/Socket.cpp b/Jupiter/Socket.cpp index a1a347c..f4bfa4e 100644 --- a/Jupiter/Socket.cpp +++ b/Jupiter/Socket.cpp @@ -367,7 +367,7 @@ Jupiter::Socket *Jupiter::Socket::accept() r->data_->sockType = Jupiter::Socket::data_->sockType; r->data_->sockProto = Jupiter::Socket::data_->sockProto; r->data_->host.set(resolved); - r->data_->port = Jupiter_strtoi(resolved_port, 10); + r->data_->port = static_cast(Jupiter_strtoi(resolved_port, 10)); return r; } return nullptr; diff --git a/Jupiter/String_Type_Imp.h b/Jupiter/String_Type_Imp.h index 18cd758..9fac61f 100644 --- a/Jupiter/String_Type_Imp.h +++ b/Jupiter/String_Type_Imp.h @@ -521,16 +521,19 @@ template size_t Jupiter::String_Type::replace(size_t index, size_ } else { - this->setBufferSize(Jupiter::String_Type::length + valueSize - targetSize); - Jupiter::String_Type::length += valueSize - targetSize; - size_t i = Jupiter::String_Type::length; - while (--i != index + targetSize + 1) - Jupiter::String_Type::str[i] = Jupiter::String_Type::str[i - valueSize + targetSize]; - this->println(stdout); + valueSize -= targetSize; + this->setBufferSize(Jupiter::String_Type::length + valueSize); + Jupiter::String_Type::length += valueSize; + + index += targetSize; + while (i-- != index) + Jupiter::String_Type::str[i + valueSize] = Jupiter::String_Type::str[i]; + index -= targetSize; + valueSize += targetSize; Jupiter::String_Type::str[index] = *value; - while (index != i) + while (--valueSize != 0) Jupiter::String_Type::str[++index] = *++value; } } diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index b068dac69af9a09507747bb9e4504364aa6cf762..973a4b80f0a8afb98f59de20b0c93c08af9010b8 100644 GIT binary patch delta 32410 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 delta 32432 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