From 27082f9efa60a6729d8d3bc2511b6a087889e1aa Mon Sep 17 00:00:00 2001 From: rubidium42 Date: Tue, 28 Nov 2023 20:17:05 -0400 Subject: [PATCH] Codechange: pass std::string references to OpenBrowser --- src/help_gui.cpp | 8 ++++---- src/network/network_content_gui.cpp | 4 ++-- src/network/network_gui.cpp | 2 +- src/openttd.cpp | 4 ++-- src/openttd.h | 2 +- src/os/macosx/macos.mm | 4 ++-- src/os/unix/unix.cpp | 8 ++++---- src/os/windows/win32.cpp | 2 +- src/settings_gui.cpp | 2 +- src/textfile_gui.cpp | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/help_gui.cpp b/src/help_gui.cpp index 4ee33529d0..ea318dbda7 100644 --- a/src/help_gui.cpp +++ b/src/help_gui.cpp @@ -145,16 +145,16 @@ struct HelpWindow : public Window { new GameManualTextfileWindow(LICENSE_FILENAME); break; case WID_HW_WEBSITE: - OpenBrowser(WEBSITE_LINK.c_str()); + OpenBrowser(WEBSITE_LINK); break; case WID_HW_WIKI: - OpenBrowser(WIKI_LINK.c_str()); + OpenBrowser(WIKI_LINK); break; case WID_HW_BUGTRACKER: - OpenBrowser(BUGTRACKER_LINK.c_str()); + OpenBrowser(BUGTRACKER_LINK); break; case WID_HW_COMMUNITY: - OpenBrowser(COMMUNITY_LINK.c_str()); + OpenBrowser(COMMUNITY_LINK); break; } } diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index a9a0f9bc06..9eb5b212ed 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -384,7 +384,7 @@ class NetworkContentListWindow : public Window, ContentCallback { } } - OpenBrowser(url.c_str()); + OpenBrowser(url); } /** @@ -855,7 +855,7 @@ public: case WID_NCL_OPEN_URL: if (this->selected != nullptr) { - OpenBrowser(this->selected->url.c_str()); + OpenBrowser(this->selected->url); } break; diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index e92f573fb4..449f09a326 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -2501,7 +2501,7 @@ struct NetworkAskSurveyWindow : public Window { break; case WID_NAS_LINK: - OpenBrowser(NETWORK_SURVEY_DETAILS_LINK.c_str()); + OpenBrowser(NETWORK_SURVEY_DETAILS_LINK); break; case WID_NAS_NO: diff --git a/src/openttd.cpp b/src/openttd.cpp index 3b6c303de6..96f7dc7d98 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -94,7 +94,7 @@ bool HandleBootstrap(); extern void AfterLoadCompanyStats(); extern Company *DoStartupNewCompany(bool is_ai, CompanyID company = INVALID_COMPANY); -extern void OSOpenBrowser(const char *url); +extern void OSOpenBrowser(const std::string &url); extern void RebuildTownCaches(); extern void ShowOSErrorBox(const char *buf, bool system); extern std::string _config_file; @@ -370,7 +370,7 @@ void MakeNewgameSettingsLive() } } -void OpenBrowser(const char *url) +void OpenBrowser(const std::string &url) { /* Make sure we only accept urls that are sure to open a browser. */ if (StrStartsWith(url, "http://") || StrStartsWith(url, "https://")) { diff --git a/src/openttd.h b/src/openttd.h index 282c0a033b..93875dfd6d 100644 --- a/src/openttd.h +++ b/src/openttd.h @@ -90,7 +90,7 @@ void SwitchToMode(SwitchMode new_mode); bool RequestNewGRFScan(struct NewGRFScanCallback *callback = nullptr); void GenerateSavegameId(); -void OpenBrowser(const char *url); +void OpenBrowser(const std::string &url); void ChangeAutosaveFrequency(bool reset); #endif /* OPENTTD_H */ diff --git a/src/os/macosx/macos.mm b/src/os/macosx/macos.mm index bc97f6cdce..1b1beacab4 100644 --- a/src/os/macosx/macos.mm +++ b/src/os/macosx/macos.mm @@ -143,9 +143,9 @@ void ShowOSErrorBox(const char *buf, bool system) } } -void OSOpenBrowser(const char *url) +void OSOpenBrowser(const std::string &url) { - [ [ NSWorkspace sharedWorkspace ] openURL:[ NSURL URLWithString:[ NSString stringWithUTF8String:url ] ] ]; + [ [ NSWorkspace sharedWorkspace ] openURL:[ NSURL URLWithString:[ NSString stringWithUTF8String:url.c_str() ] ] ]; } /** diff --git a/src/os/unix/unix.cpp b/src/os/unix/unix.cpp index ee4d0b7e15..2583be3347 100644 --- a/src/os/unix/unix.cpp +++ b/src/os/unix/unix.cpp @@ -230,20 +230,20 @@ std::optional GetClipboardContents() #if defined(__EMSCRIPTEN__) -void OSOpenBrowser(const char *url) +void OSOpenBrowser(const std::string &url) { /* Implementation in pre.js */ - EM_ASM({ if(window["openttd_open_url"]) window.openttd_open_url($0, $1) }, url, strlen(url)); + EM_ASM({ if (window["openttd_open_url"]) window.openttd_open_url($0, $1) }, url.c_str(), url.size()); } #elif !defined( __APPLE__) -void OSOpenBrowser(const char *url) +void OSOpenBrowser(const std::string &url) { pid_t child_pid = fork(); if (child_pid != 0) return; const char *args[3]; args[0] = "xdg-open"; - args[1] = url; + args[1] = url.c_str(); args[2] = nullptr; execvp(args[0], const_cast(args)); Debug(misc, 0, "Failed to open url: {}", url); diff --git a/src/os/windows/win32.cpp b/src/os/windows/win32.cpp index 0b732ca431..1d4e747378 100644 --- a/src/os/windows/win32.cpp +++ b/src/os/windows/win32.cpp @@ -52,7 +52,7 @@ void ShowOSErrorBox(const char *buf, bool) MessageBox(GetActiveWindow(), OTTD2FS(buf).c_str(), L"Error!", MB_ICONSTOP | MB_TASKMODAL); } -void OSOpenBrowser(const char *url) +void OSOpenBrowser(const std::string &url) { ShellExecute(GetActiveWindow(), L"open", OTTD2FS(url).c_str(), nullptr, nullptr, SW_SHOWNORMAL); } diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 5b23df1f81..97a3066dae 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -495,7 +495,7 @@ struct GameOptionsWindow : Window { break; case WID_GO_SURVEY_LINK_BUTTON: - OpenBrowser(NETWORK_SURVEY_DETAILS_LINK.c_str()); + OpenBrowser(NETWORK_SURVEY_DETAILS_LINK); break; case WID_GO_SURVEY_PREVIEW_BUTTON: diff --git a/src/textfile_gui.cpp b/src/textfile_gui.cpp index 57278000ae..abfcb25632 100644 --- a/src/textfile_gui.cpp +++ b/src/textfile_gui.cpp @@ -406,7 +406,7 @@ void TextfileWindow::NavigateHistory(int delta) } case HyperlinkType::Web: - OpenBrowser(link.destination.c_str()); + OpenBrowser(link.destination); break; case HyperlinkType::File: