From 9cf36dac396b1baf0110210f3c8962cc8cae7f08 Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 30 Apr 2025 12:39:38 +0200 Subject: [PATCH] Codechange: Use data() instead of c_str(), if no NUL termination is needed. --- src/music/cocoa_m.cpp | 2 +- src/network/core/http_winhttp.cpp | 2 +- src/os/unix/unix.cpp | 2 +- src/os/windows/win32.cpp | 6 +++--- src/pathfinder/yapf/yapf_rail.cpp | 4 ++-- src/saveload/saveload.cpp | 2 +- src/script/script_info_dummy.cpp | 4 ++-- src/tests/test_script_admin.cpp | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/music/cocoa_m.cpp b/src/music/cocoa_m.cpp index 9aa847712f..c4616b2cd3 100644 --- a/src/music/cocoa_m.cpp +++ b/src/music/cocoa_m.cpp @@ -135,7 +135,7 @@ void MusicDriver_Cocoa::PlaySong(const MusicSongInfo &song) } std::string os_file = OTTD2FS(filename); - CFAutoRelease url(CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8*)os_file.c_str(), os_file.length(), false)); + CFAutoRelease url(CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8*)os_file.data(), os_file.length(), false)); if (MusicSequenceFileLoad(_sequence, url.get(), kMusicSequenceFile_AnyType, 0) != noErr) { Debug(driver, 0, "cocoa_m: Failed to load MIDI file"); diff --git a/src/network/core/http_winhttp.cpp b/src/network/core/http_winhttp.cpp index 1c55562e7b..abc6849d9b 100644 --- a/src/network/core/http_winhttp.cpp +++ b/src/network/core/http_winhttp.cpp @@ -254,7 +254,7 @@ void NetworkHTTPRequest::Connect() } else { /* When the payload starts with a '{', it is a JSON payload. */ LPCWSTR content_type = data.starts_with("{") ? L"Content-Type: application/json\r\n" : L"Content-Type: application/x-www-form-urlencoded\r\n"; - WinHttpSendRequest(this->request, content_type, -1, const_cast(data.c_str()), static_cast(data.size()), static_cast(data.size()), reinterpret_cast(this)); + WinHttpSendRequest(this->request, content_type, -1, const_cast(data.data()), static_cast(data.size()), static_cast(data.size()), reinterpret_cast(this)); } } diff --git a/src/os/unix/unix.cpp b/src/os/unix/unix.cpp index bff7982f2f..7a6ea11d9d 100644 --- a/src/os/unix/unix.cpp +++ b/src/os/unix/unix.cpp @@ -224,7 +224,7 @@ std::optional GetClipboardContents() void OSOpenBrowser(const std::string &url) { /* Implementation in pre.js */ - EM_ASM({ if (window["openttd_open_url"]) window.openttd_open_url($0, $1) }, url.c_str(), url.size()); + EM_ASM({ if (window["openttd_open_url"]) window.openttd_open_url($0, $1) }, url.data(), url.size()); } #elif !defined( __APPLE__) void OSOpenBrowser(const std::string &url) diff --git a/src/os/windows/win32.cpp b/src/os/windows/win32.cpp index d684027799..82892d7490 100644 --- a/src/os/windows/win32.cpp +++ b/src/os/windows/win32.cpp @@ -428,7 +428,7 @@ void Win32SetCurrentLocaleName(std::string iso_code) } } - MultiByteToWideChar(CP_UTF8, 0, iso_code.c_str(), -1, _cur_iso_locale, static_cast(std::size(_cur_iso_locale))); + MultiByteToWideChar(CP_UTF8, 0, iso_code.data(), static_cast(iso_code.size()), _cur_iso_locale, static_cast(std::size(_cur_iso_locale))); } int OTTDStringCompare(std::string_view s1, std::string_view s2) @@ -461,11 +461,11 @@ int OTTDStringCompare(std::string_view s1, std::string_view s2) /* CompareStringEx takes UTF-16 strings, even in ANSI-builds. */ if (_CompareStringEx != nullptr) { - int result = _CompareStringEx(_cur_iso_locale, LINGUISTIC_IGNORECASE | SORT_DIGITSASNUMBERS, str_s1.c_str(), len_s1, str_s2.c_str(), len_s2, nullptr, nullptr, 0); + int result = _CompareStringEx(_cur_iso_locale, LINGUISTIC_IGNORECASE | SORT_DIGITSASNUMBERS, str_s1.data(), len_s1, str_s2.data(), len_s2, nullptr, nullptr, 0); if (result != 0) return result; } - return CompareString(MAKELCID(_current_language->winlangid, SORT_DEFAULT), NORM_IGNORECASE, str_s1.c_str(), len_s1, str_s2.c_str(), len_s2); + return CompareString(MAKELCID(_current_language->winlangid, SORT_DEFAULT), NORM_IGNORECASE, str_s1.data(), len_s1, str_s2.data(), len_s2); } /** diff --git a/src/pathfinder/yapf/yapf_rail.cpp b/src/pathfinder/yapf/yapf_rail.cpp index 357d9bc6b8..df31a27b93 100644 --- a/src/pathfinder/yapf/yapf_rail.cpp +++ b/src/pathfinder/yapf/yapf_rail.cpp @@ -28,8 +28,8 @@ template void DumpState(Tpf &pf1, Tpf &pf2) auto f2 = FileHandle::Open("yapf2.txt"sv, "wt"); assert(f1.has_value()); assert(f2.has_value()); - fwrite(dmp1.m_out.c_str(), 1, dmp1.m_out.size(), *f1); - fwrite(dmp2.m_out.c_str(), 1, dmp2.m_out.size(), *f2); + fwrite(dmp1.m_out.data(), 1, dmp1.m_out.size(), *f1); + fwrite(dmp2.m_out.data(), 1, dmp2.m_out.size(), *f2); } template diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index d507b88687..fc5a561ff9 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -1043,7 +1043,7 @@ static void SlStdString(void *ptr, VarType conv) case SLA_SAVE: { size_t len = str->length(); SlWriteArrayLength(len); - SlCopyBytes(const_cast(static_cast(str->c_str())), len); + SlCopyBytes(const_cast(static_cast(str->data())), len); break; } diff --git a/src/script/script_info_dummy.cpp b/src/script/script_info_dummy.cpp index e9ee7e77d0..e9463c7b8f 100644 --- a/src/script/script_info_dummy.cpp +++ b/src/script/script_info_dummy.cpp @@ -42,7 +42,7 @@ void Script_CreateDummyInfo(HSQUIRRELVM vm, std::string_view type, std::string_v sq_pushroottable(vm); /* Load and run the script */ - if (SQ_SUCCEEDED(sq_compilebuffer(vm, dummy_script.c_str(), dummy_script.size(), "dummy", SQTrue))) { + if (SQ_SUCCEEDED(sq_compilebuffer(vm, dummy_script.data(), dummy_script.size(), "dummy", SQTrue))) { sq_push(vm, -2); if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) { sq_pop(vm, 1); @@ -101,7 +101,7 @@ void Script_CreateDummy(HSQUIRRELVM vm, StringID string, std::string_view type) /* 3) Finally we load and run the script */ sq_pushroottable(vm); - if (SQ_SUCCEEDED(sq_compilebuffer(vm, dummy_script.c_str(), dummy_script.size(), "dummy", SQTrue))) { + if (SQ_SUCCEEDED(sq_compilebuffer(vm, dummy_script.data(), dummy_script.size(), "dummy", SQTrue))) { sq_push(vm, -2); if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) { sq_pop(vm, 1); diff --git a/src/tests/test_script_admin.cpp b/src/tests/test_script_admin.cpp index c8bf48c584..3c57d81536 100644 --- a/src/tests/test_script_admin.cpp +++ b/src/tests/test_script_admin.cpp @@ -64,7 +64,7 @@ static std::optional TestScriptAdminMakeJSON(std::string_view squir sq_pop(vm, 1); /* Compile the snippet. */ - REQUIRE(sq_compilebuffer(vm, buffer.c_str(), buffer.size(), "test", SQTrue) == SQ_OK); + REQUIRE(sq_compilebuffer(vm, buffer.data(), buffer.size(), "test", SQTrue) == SQ_OK); /* Execute the snippet, capturing the return value. */ sq_pushroottable(vm); REQUIRE(sq_call(vm, 1, SQTrue, SQTrue) == SQ_OK);