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 b068dac..973a4b8 100644 Binary files a/Release/Jupiter.lib and b/Release/Jupiter.lib differ