aboutsummaryrefslogtreecommitdiff
path: root/c_implementation/src/ak_fs_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'c_implementation/src/ak_fs_main.c')
-rw-r--r--c_implementation/src/ak_fs_main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/c_implementation/src/ak_fs_main.c b/c_implementation/src/ak_fs_main.c
index f1660cf..6b523c7 100644
--- a/c_implementation/src/ak_fs_main.c
+++ b/c_implementation/src/ak_fs_main.c
@@ -14,14 +14,16 @@ int ak_fs_main(int argc, char** argv)
{
int option;
int logind = 0;
+ akfs_map_v3 map;
static struct option long_options[] = {
{"help", no_argument, 0, 'h'},
{"list", no_argument, 0, 'l'},
+ {"cfm", required_argument, 0, 'C'},
{0,0,0,0}
};
while(1)
{
- option = getopt_long(argc, argv, "hl", long_options, &logind);
+ option = getopt_long(argc, argv, "hlC:", long_options, &logind);
if ( option == -1 ) return ak_fs_usage();
switch(option)
{
@@ -29,6 +31,11 @@ int ak_fs_main(int argc, char** argv)
return ak_fs_usage();
case 'l':
return ak_fs_ls();
+ case 'C':
+ ak_fs_map_v3_init(&map);
+ ak_fs_sha512sum_string_to_struct(optarg, &map.mh);
+ ak_fs_map_v3_open_from_file(&map);
+ return ak_fs_cfm(&map);
default:
printf("double lol\n");
return 4;