From 828caf12a6c5b217052b8a6ed26e7721239201b4 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Thu, 22 Jun 2023 18:18:46 +0100 Subject: [PATCH] dirname: Add `-z` option for null terminated output --- Userland/Utilities/dirname.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Userland/Utilities/dirname.cpp b/Userland/Utilities/dirname.cpp index c2481d91eb..d54e6b9a79 100644 --- a/Userland/Utilities/dirname.cpp +++ b/Userland/Utilities/dirname.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2020, Andreas Kling + * Copyright (c) 2023, Tim Ledbetter * * SPDX-License-Identifier: BSD-2-Clause */ @@ -10,11 +11,14 @@ ErrorOr 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; }