summaryrefslogtreecommitdiff
path: root/rust-src/src/cmd_completions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust-src/src/cmd_completions.rs')
-rw-r--r--rust-src/src/cmd_completions.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/rust-src/src/cmd_completions.rs b/rust-src/src/cmd_completions.rs
index 51859696..3e839fe8 100644
--- a/rust-src/src/cmd_completions.rs
+++ b/rust-src/src/cmd_completions.rs
@@ -1,7 +1,6 @@
-use crate::transform_c_args;
use clap::{Command, CommandFactory, Parser};
use clap_complete::{generate, Generator, Shell};
-use std::ffi::{c_char, c_int};
+use std::ffi::{c_int, OsStr};
use std::io;
/// Generate shell completions
@@ -14,10 +13,7 @@ fn print_completions<G: Generator>(gen: G, cmd: &mut Command) {
generate(gen, cmd, cmd.get_name().to_string(), &mut io::stdout());
}
-#[no_mangle]
-#[allow(clippy::not_unsafe_ptr_arg_deref)]
-pub extern "C" fn cmd_completions(argc: c_int, argv: *const *const c_char) -> c_int {
- transform_c_args!(argv, argc, argv);
+pub fn cmd_completions(argv: Vec<&OsStr>) -> c_int {
let cli = Cli::parse_from(argv);
print_completions(cli.shell, &mut super::Cli::command());
0