1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:57:45 +00:00

Userland+Terminal: Port to new CArgsParser API

While at it, also add some niceties and fix some things.
This commit is contained in:
Sergey Bugaev 2020-01-27 20:25:36 +03:00 committed by Andreas Kling
parent 9276582535
commit f983dfe319
22 changed files with 392 additions and 653 deletions

View file

@ -32,21 +32,18 @@
int main(int argc, char** argv)
{
CArgsParser args_parser("ln");
bool symbolic = false;
const char* target = nullptr;
const char* path = nullptr;
args_parser.add_arg("s", "create a symlink");
args_parser.add_required_single_value("target");
args_parser.add_required_single_value("link-path");
CArgsParser args_parser;
args_parser.add_option(symbolic, "Create a symlink", "symbolic", 's');
args_parser.add_positional_argument(target, "Link target", "target");
args_parser.add_positional_argument(path, "Link path", "path");
args_parser.parse(argc, argv);
CArgsParserResult args = args_parser.parse(argc, argv);
Vector<String> values = args.get_single_values();
if (values.size() == 0) {
args_parser.print_usage();
return 0;
}
if (args.is_present("s")) {
int rc = symlink(values[0].characters(), values[1].characters());
if (symbolic) {
int rc = symlink(target, path);
if (rc < 0) {
perror("symlink");
return 1;
@ -54,7 +51,7 @@ int main(int argc, char** argv)
return 0;
}
int rc = link(values[0].characters(), values[1].characters());
int rc = link(target, path);
if (rc < 0) {
perror("link");
return 1;