use bch_bindgen::btree::BtreeIter;
use bch_bindgen::btree::BtreeNodeIter;
use bch_bindgen::btree::BtreeIterFlags;
-use clap::{Args, Parser};
-use std::ffi::{c_int, c_char};
-use crate::transform_c_args;
+use clap::{Parser};
+use std::ffi::{c_int, OsStr};
fn list_keys(fs: &Fs, opt: Cli) -> anyhow::Result<()> {
let trans = BtreeTrans::new(fs);
let mut fs_opts: bcachefs::bch_opts = Default::default();
opt_set!(fs_opts, nochanges, 1);
+ opt_set!(fs_opts, read_only, 1);
opt_set!(fs_opts, norecovery, 1);
opt_set!(fs_opts, degraded, 1);
opt_set!(fs_opts, errors, bcachefs::bch_error_actions::BCH_ON_ERROR_continue as u8);
}
}
-#[no_mangle]
-#[allow(clippy::not_unsafe_ptr_arg_deref)]
-pub extern "C" fn cmd_list(argc: c_int, argv: *const *const c_char) {
- transform_c_args!(argv, argc, argv);
+pub fn cmd_list(argv: Vec<&OsStr>) -> c_int {
let opt = Cli::parse_from(argv);
colored::control::set_override(opt.colorize);
if let Err(e) = cmd_list_inner(opt) {
error!("Fatal error: {}", e);
+ 1
+ } else {
+ 0
}
}