From 980d09f40635f74a994fd1a7df20a9a86ec50d58 Mon Sep 17 00:00:00 2001 From: midipix Date: Mon, 7 Nov 2022 00:05:08 +0000 Subject: ntux_cmd_chmod(): added --refobj support. --- src/output/ntux_output_error.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/output') diff --git a/src/output/ntux_output_error.c b/src/output/ntux_output_error.c index b1a3a96..3324a71 100644 --- a/src/output/ntux_output_error.c +++ b/src/output/ntux_output_error.c @@ -46,6 +46,22 @@ static const char * ntux_output_unit_header(const struct ntux_error_info * erri) return "while querying"; } +static const char * ntux_output_chmod_strerror( + const struct ntux_driver_ctx * dctx, + const struct ntux_error_info * erri) +{ + (void)dctx; + + if (erri->elibcode == NTUX_ERR_CONFLICTING_ARGUMENTS) + return "chmod conflicting arguments: +P cannot be used together with --refobj"; + + else if (erri->elibcode == NTUX_ERR_NON_POSIX_DESCRIPTOR) + return "chmod: cannot amend a referenced non-posix security descriptor"; + + else + return "ntux_output_chmod_strerror(): unhandled custom error"; +} + static const char * ntux_output_strerror( const struct ntux_driver_ctx * dctx, const struct ntux_error_info * erri) @@ -61,6 +77,12 @@ static const char * ntux_output_strerror( if ((erri->eflags & NTUX_ERROR_CUSTOM) && (erri->elibcode == NTUX_ERR_NOT_IMPLEMENTED)) return "status: support for one or more option values is not yet implemented"; + else if ((erri->eflags & NTUX_ERROR_CUSTOM) && (erri->elibcode == NTUX_ERR_CONFLICTING_ARGUMENTS)) + return ntux_output_chmod_strerror(dctx,erri); + + else if ((erri->eflags & NTUX_ERROR_CUSTOM) && (erri->elibcode == NTUX_ERR_NON_POSIX_DESCRIPTOR)) + return ntux_output_chmod_strerror(dctx,erri); + else if (erri->eflags & NTUX_ERROR_CUSTOM) return "flow error: unexpected condition or other"; -- cgit v1.2.3