aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/FileUtil.cpp12
-rw-r--r--src/GlobalLib.cpp4
-rw-r--r--src/main.cpp8
3 files changed, 18 insertions, 6 deletions
diff --git a/src/FileUtil.cpp b/src/FileUtil.cpp
index d33c94d..d07a074 100644
--- a/src/FileUtil.cpp
+++ b/src/FileUtil.cpp
@@ -54,6 +54,11 @@ namespace sibs
{
return FileString(utf8Str.data, utf8Str.data + utf8Str.size);
}
+
+ FileString toFileString(const char *str)
+ {
+ return str;
+ }
#else
std::string toUtf8(const sibs::FileString &input)
{
@@ -96,6 +101,13 @@ namespace sibs
return result;
}
+ FileString toFileString(const char *str)
+ {
+ FileString result;
+ utf8::utf8to16(str, str + strlen(str), std::back_inserter(result));
+ return result;
+ }
+
FileString getLastErrorAsString()
{
DWORD errorMessageId = GetLastError();
diff --git a/src/GlobalLib.cpp b/src/GlobalLib.cpp
index 2dd829f..7f9d949 100644
--- a/src/GlobalLib.cpp
+++ b/src/GlobalLib.cpp
@@ -278,7 +278,7 @@ namespace sibs
libPath += TINYDIR_STRING("/.cache/sibs/lib/");
libPath += toFileString(dependency->name);
libPath += TINYDIR_STRING("/");
- libPath += package.version.toString();
+ libPath += toFileString(package.version.toString());
FileString libArchivedFilePath = libPathResult.unwrap();
libArchivedFilePath += TINYDIR_STRING("/.cache/sibs/archive/");
@@ -288,7 +288,7 @@ namespace sibs
return createArchiveDirResult;
libArchivedFilePath += TINYDIR_STRING("/");
- libArchivedFilePath += package.version.toString();
+ libArchivedFilePath += toFileString(package.version.toString());
Result<bool> downloadResult = curl::downloadFile(package.urls[0].c_str(), libArchivedFilePath.c_str());
if(!downloadResult)
return downloadResult;
diff --git a/src/main.cpp b/src/main.cpp
index 8e9cc00..a295eba 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -446,7 +446,7 @@ static int buildProject(int argc, const _tinydir_char_t **argv)
OptimizationLevel optimizationLevel = OPT_LEV_NONE;
FileString projectPath;
bool sanitize = false;
- const _tinydir_char_t *platformName = nullptr;
+ FileString platformName;
for(int i = 0; i < argc; ++i)
{
@@ -484,7 +484,7 @@ static int buildProject(int argc, const _tinydir_char_t **argv)
++i;
arg = argv[i];
- if(platformName)
+ if(!platformName.empty())
{
ferr << "Error: Platform defined twice. First as " << platformName << " then as " << arg << endl;
usageBuild();
@@ -510,8 +510,8 @@ static int buildProject(int argc, const _tinydir_char_t **argv)
if(optimizationLevel == OPT_LEV_NONE)
optimizationLevel = OPT_LEV_DEBUG;
- if(!platformName)
- platformName = asString(SYSTEM_PLATFORM);
+ if(platformName.empty())
+ platformName = toFileString(asString(SYSTEM_PLATFORM));
string platformUtf8 = toUtf8(platformName);
Platform platform = getPlatformByName(StringView(platformUtf8.data(), platformUtf8.size()));