summaryrefslogtreecommitdiffhomepage
path: root/src/output
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2022-11-07 00:05:08 +0000
committermidipix <writeonce@midipix.org>2022-11-07 00:06:56 +0000
commit980d09f40635f74a994fd1a7df20a9a86ec50d58 (patch)
treeb6e75675b74631f7f786afaf2a101601b730cef7 /src/output
parentd7dacaa62264673eff1a4a21da24af93630c4f36 (diff)
downloadntux-980d09f40635f74a994fd1a7df20a9a86ec50d58.tar.bz2
ntux-980d09f40635f74a994fd1a7df20a9a86ec50d58.tar.xz
ntux_cmd_chmod(): added --refobj support.
Diffstat (limited to 'src/output')
-rw-r--r--src/output/ntux_output_error.c22
1 files changed, 22 insertions, 0 deletions
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";