/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
*/
-// INTERNAL
-#include "dali-scene3d/public-api/loader/utils.h"
+// CLASS HEADER
+#include <dali-scene3d/public-api/loader/utils.h>
-// EXTERNAL
+// EXTERNAL INCLUDES
+#include <dali/public-api/animation/constraints.h>
+#include <dali/public-api/common/vector-wrapper.h>
#include <stdarg.h>
#include <cstring>
#include <fstream>
#include <iostream>
-#include "dali/public-api/animation/constraints.h"
-#include "dali/public-api/common/vector-wrapper.h"
-namespace Dali
-{
-namespace Scene3D
-{
-namespace Loader
+namespace Dali::Scene3D::Loader
{
namespace
{
va_list vl2;
va_copy(vl2, vl);
- size_t sizeRequired = vsnprintf(nullptr, 0, format, vl);
+ std::string result;
+ int32_t length = vsnprintf(nullptr, 0, format, vl);
va_end(vl);
- ++sizeRequired;
- std::string result(sizeRequired, '\0');
- vsnprintf(&result[0], sizeRequired, format, vl2);
+ if(length >= 0)
+ {
+ size_t sizeRequired = static_cast<size_t>(length);
+ ++sizeRequired;
+ std::string formatString(sizeRequired, '\0');
+ vsnprintf(&formatString[0], sizeRequired, format, vl2);
+ result = formatString;
+ }
va_end(vl2);
-
return result;
}
std::replace(path.begin(), path.end(), '\\', '/');
}
-} // namespace Loader
-} // namespace Scene3D
-} // namespace Dali
+} // namespace Dali::Scene3D::Loader