in aios/filesystem/fslib/tools/fsutil/FsUtilMain.cpp [100:195]
ErrorCode processCmd(int argc, char **argv) {
if (argc >= 2) {
if (strcmp(argv[1], FsUtil::COPY_CMD.c_str()) == 0) {
if (argc == 5 && strcmp(argv[2], "-r") == 0) {
return FsUtil::runCopy(argv[3], argv[4], true);
} else if (argc == 4) {
return FsUtil::runCopy(argv[2], argv[3], false);
}
} else if (strcmp(argv[1], FsUtil::MOVE_CMD.c_str()) == 0 && argc == 4) {
return FsUtil::runMove(argv[2], argv[3]);
} else if (strcmp(argv[1], FsUtil::RENAME_CMD.c_str()) == 0 && argc == 4) {
return FsUtil::runRename(argv[2], argv[3]);
} else if (strcmp(argv[1], FsUtil::MKDIR_CMD.c_str()) == 0) {
if (argc == 4 && strcmp(argv[2], "-p") == 0) {
return FsUtil::runMkDir(argv[3], true);
} else if (argc == 3) {
return FsUtil::runMkDir(argv[2], false);
}
} else if (strcmp(argv[1], FsUtil::LISTDIR_CMD.c_str()) == 0) {
if (argc == 3) {
return FsUtil::runListDir(argv[2]);
} else if (argc == 4) {
if (strcmp(argv[3], "-R") == 0) {
return FsUtil::runListDirWithRecursive(argv[2], "");
} else if (strcmp(argv[2], "-R") == 0) {
return FsUtil::runListDirWithRecursive(argv[3], "");
}
} else if (argc == 5) {
if (strcmp(argv[3], "-R") == 0) {
return FsUtil::runListDirWithRecursive(argv[2], argv[4]);
} else if (strcmp(argv[2], "-R") == 0) {
return FsUtil::runListDirWithRecursive(argv[4], argv[3]);
}
}
} else if (strcmp(argv[1], FsUtil::REMOVE_CMD.c_str()) == 0 && argc == 3) {
return FsUtil::runRemove(argv[2]);
} else if (strcmp(argv[1], FsUtil::CAT_CMD.c_str()) == 0 && argc == 3) {
return FsUtil::runCat(argv[2]);
} else if (strcmp(argv[1], FsUtil::MD5_SUM_CMD.c_str()) == 0 && argc == 3) {
return FsUtil::runMd5Sum(argv[2]);
} else if (strcmp(argv[1], FsUtil::ZCAT_CMD.c_str()) == 0 && argc == 3) {
return FsUtil::runZCat(argv[2]);
} else if (strcmp(argv[1], FsUtil::GETMETA_CMD.c_str()) == 0 && argc == 3) {
return FsUtil::runGetMeta(argv[2]);
} else if (strcmp(argv[1], FsUtil::ISEXIST_CMD.c_str()) == 0 && argc == 3) {
return FsUtil::runIsExist(argv[2]);
} else if (strcmp(argv[1], FsUtil::FLOCK_CMD.c_str()) == 0 && argc == 4) {
return FsUtil::runFlock(argv[2], argv[3]);
} else if (strcmp(argv[1], FsUtil::FORWARD_CMD.c_str()) == 0 && (argc == 4 || argc == 5)) {
return FsUtil::runForward(argv[2], argv[3], argc == 4 ? "" : argv[4]);
} else if (strcmp(argv[1], FsUtil::ENCRYPT_CMD.c_str()) == 0) {
if (argc == 4) {
return FsUtil::runEncrypt(argv[2], argv[3], nullptr, false);
}
if (argc == 5) {
return FsUtil::runEncrypt(argv[2], argv[3], argv[4], false);
}
if (argc == 6 && strcmp(argv[5], "--base64") == 0) {
return FsUtil::runEncrypt(argv[2], argv[3], argv[4], true);
}
} else if (strcmp(argv[1], FsUtil::DECRYPT_CMD.c_str()) == 0) {
if (argc == 4) {
return FsUtil::runDecrypt(argv[2], argv[3], nullptr, false);
}
if (argc == 5) {
return FsUtil::runDecrypt(argv[2], argv[3], argv[4], false);
}
if (argc == 6 && strcmp(argv[5], "--base64") == 0) {
return FsUtil::runDecrypt(argv[2], argv[3], argv[4], true);
}
} else if (strcmp(argv[1], FsUtil::DECRYPT_CAT_CMD.c_str()) == 0) {
if (argc == 3) {
return FsUtil::runDecryptCat(argv[2], nullptr, false);
}
if (argc == 4) {
return FsUtil::runDecryptCat(argv[2], argv[3], false);
}
if (argc == 5 && strcmp(argv[4], "--base64") == 0) {
return FsUtil::runDecryptCat(argv[2], argv[3], true);
}
} else if (strcmp(argv[1], FsUtil::DECRYPT_ZCAT_CMD.c_str()) == 0) {
if (argc == 3) {
return FsUtil::runDecryptZCat(argv[2], nullptr, false);
}
if (argc == 4) {
return FsUtil::runDecryptZCat(argv[2], argv[3], false);
}
if (argc == 5 && strcmp(argv[4], "--base64") == 0) {
return FsUtil::runDecryptZCat(argv[2], argv[3], true);
}
}
}
printFsUtilCmdUsage();
return EC_BADARGS;
}