From 4bc6c20091788ab2887906d49ebb4c6eb3b409c2 Mon Sep 17 00:00:00 2001 From: Aaron Malpas <40313754+malpas@users.noreply.github.com> Date: Sat, 7 Sep 2019 11:03:16 +1000 Subject: [PATCH] cp: Use LibCore/CArgsParser for command-line arg parsing --- Userland/cp.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Userland/cp.cpp b/Userland/cp.cpp index 2cd48d2240..e7a8713c0a 100644 --- a/Userland/cp.cpp +++ b/Userland/cp.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -9,12 +10,18 @@ int main(int argc, char** argv) { - if (argc != 3) { - printf("usage: cp \n"); + CArgsParser args_parser("cp"); + args_parser.add_required_single_value("source"); + args_parser.add_required_single_value("destination"); + + CArgsParserResult args = args_parser.parse(argc, argv); + Vector values = args.get_single_values(); + if (values.size() == 0) { + args_parser.print_usage(); return 0; } - String src_path = argv[1]; - String dst_path = argv[2]; + String src_path = values[0]; + String dst_path = values[1]; int src_fd = open(src_path.characters(), O_RDONLY); if (src_fd < 0) {