dirname: Add -z option for null terminated output

This commit is contained in:
Tim Ledbetter 2023-06-22 18:18:46 +01:00 committed by Tim Flynn
parent c1c35f4f59
commit 828caf12a6
Notes: sideshowbarker 2024-07-17 01:10:58 +09:00

View file

@ -1,5 +1,6 @@
/*
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
* Copyright (c) 2023, Tim Ledbetter <timledbetter@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
@ -10,11 +11,14 @@
ErrorOr<int> serenity_main(Main::Arguments arguments)
{
DeprecatedString path = {};
bool null_terminated = false;
DeprecatedString path;
Core::ArgsParser args_parser;
args_parser.add_option(null_terminated, "End each output line with \\0, rather than \\n", "zero", 'z');
args_parser.add_positional_argument(path, "Path", "path");
args_parser.parse(arguments);
outln("{}", LexicalPath::dirname(path));
auto const delimiter = null_terminated ? '\0' : '\n';
out("{}{}", LexicalPath::dirname(path), delimiter);
return 0;
}