diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index dc36e88d768c903402c27764db8d7b5d683ffea4..330936444fb18d19d38aa8f03f4e2c57221b4380 100644 --- a/indra/llcommon/llsdutil.cpp +++ b/indra/llcommon/llsdutil.cpp @@ -989,8 +989,8 @@ LLSD llsd_clone(LLSD value, LLSD filter) case LLSD::TypeBinary: { - LLSD::Binary bin(value.asBinary().begin(), value.asBinary().end()); - clone = LLSD::Binary(std::move(bin)); + const auto& bin = value.asBinary(); + clone = LLSD::Binary(bin.begin(), bin.end()); break; } default: diff --git a/indra/newview/llmaterialmgr.cpp b/indra/newview/llmaterialmgr.cpp index 06767f3b1ba7389c260805cbcebd336c010ad092..90cf7f1a390d470015d75ae64bfd971ba0ed8517 100644 --- a/indra/newview/llmaterialmgr.cpp +++ b/indra/newview/llmaterialmgr.cpp @@ -691,12 +691,8 @@ void LLMaterialMgr::processGetQueue() return; } - LLSD::Binary materialBinary; - materialBinary.resize(materialSize); - memcpy(materialBinary.data(), materialString.data(), materialSize); - LLSD postData = LLSD::emptyMap(); - postData[MATERIALS_CAP_ZIP_FIELD] = materialBinary; + postData[MATERIALS_CAP_ZIP_FIELD] = LLSD::Binary(materialString.begin(), materialString.end()); LLCore::HttpHandler::ptr_t handler = std::make_shared<LLMaterialHttpHandler>("POST", boost::bind(&LLMaterialMgr::onGetResponse, this, _1, _2, region_id) @@ -979,12 +975,8 @@ void LLMaterialMgr::processPutQueue() if (materialSize > 0) { - LLSD::Binary materialBinary; - materialBinary.resize(materialSize); - memcpy(materialBinary.data(), materialString.data(), materialSize); - LLSD putData = LLSD::emptyMap(); - putData[MATERIALS_CAP_ZIP_FIELD] = materialBinary; + putData[MATERIALS_CAP_ZIP_FIELD] = LLSD::Binary(materialString.begin(), materialString.end()); LL_DEBUGS("Materials") << "put for " << itRequest->second.size() << " faces to region " << itRequest->first->getName() << LL_ENDL;