mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 09:47:34 +00:00
LibCore+Everywhere: Remove ArgsParser::add*(char const*&)
This is not guaranteed to always work correctly as ArgsParser deals in StringViews and might have a non-properly-null-terminated string as a value. As a bonus, using StringView (and DeprecatedString where necessary) leads to nicer looking code too :^)
This commit is contained in:
parent
60908adcbe
commit
500044906d
43 changed files with 122 additions and 145 deletions
|
@ -75,7 +75,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
TRY(Desktop::Launcher::add_allowed_handler_with_only_specific_urls("/bin/Help", { URL::create_with_file_scheme("/usr/share/man/man1/GMLPlayground.md") }));
|
||||
TRY(Desktop::Launcher::seal_allowlist());
|
||||
|
||||
char const* path = nullptr;
|
||||
StringView path;
|
||||
Core::ArgsParser args_parser;
|
||||
args_parser.add_positional_argument(path, "GML file to edit", "file", Core::ArgsParser::Required::No);
|
||||
args_parser.parse(arguments);
|
||||
|
|
|
@ -54,7 +54,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
TRY(notify_make_not_available());
|
||||
}
|
||||
|
||||
char const* path_argument = nullptr;
|
||||
StringView path_argument;
|
||||
bool mode_coredump = false;
|
||||
pid_t pid_to_debug = -1;
|
||||
Core::ArgsParser args_parser;
|
||||
|
|
|
@ -47,13 +47,13 @@ static bool generate_profile(pid_t& pid);
|
|||
ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||
{
|
||||
int pid = 0;
|
||||
char const* perfcore_file_arg = nullptr;
|
||||
StringView perfcore_file_arg;
|
||||
Core::ArgsParser args_parser;
|
||||
args_parser.add_option(pid, "PID to profile", "pid", 'p', "PID");
|
||||
args_parser.add_positional_argument(perfcore_file_arg, "Path of perfcore file", "perfcore-file", Core::ArgsParser::Required::No);
|
||||
args_parser.parse(arguments);
|
||||
|
||||
if (pid && perfcore_file_arg) {
|
||||
if (pid && !perfcore_file_arg.is_empty()) {
|
||||
warnln("-p/--pid option and perfcore-file argument must not be used together!");
|
||||
return 1;
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
auto app_icon = TRY(GUI::Icon::try_create_default_icon("app-profiler"sv));
|
||||
|
||||
DeprecatedString perfcore_file;
|
||||
if (!perfcore_file_arg) {
|
||||
if (perfcore_file_arg.is_empty()) {
|
||||
if (!generate_profile(pid))
|
||||
return 0;
|
||||
perfcore_file = DeprecatedString::formatted("/proc/{}/perf_events", pid);
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||
{
|
||||
char const* file_to_open = nullptr;
|
||||
StringView file_to_open;
|
||||
|
||||
Core::ArgsParser args_parser;
|
||||
args_parser.add_positional_argument(file_to_open, "Path to SQL script or DB", "file", Core::ArgsParser::Required::No);
|
||||
|
@ -39,7 +39,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
return GUI::Window::CloseRequestDecision::StayOpen;
|
||||
};
|
||||
|
||||
if (file_to_open) {
|
||||
if (!file_to_open.is_empty()) {
|
||||
auto path = LexicalPath(file_to_open);
|
||||
main_widget->open_script_from_file(path);
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue