]> git.tuebingen.mpg.de Git - osl.git/blobdiff - fsck.c
Set loglevel and use fsck_cmdline_parser_ext().
[osl.git] / fsck.c
diff --git a/fsck.c b/fsck.c
index ef068d369a879c160f2569f282777765b2497371..8e215e5e06bc61c4186c06e7e426a6e8a2fdefa4 100644 (file)
--- a/fsck.c
+++ b/fsck.c
@@ -63,16 +63,7 @@ static const char *fsck_strerror(int num)
        return osl_strerror(num);
 }
 
-__printf_2_3 void para_log(int ll, const char* fmt,...)
-{
-       va_list argp;
-
-       if (ll < conf.loglevel_arg)
-               return;
-       va_start(argp, fmt);
-       vfprintf(stderr, fmt, argp);
-       va_end(argp);
-}
+extern int loglevel;
 
 /* taken from git */
 signed char hexval_table[256] = {
@@ -1162,12 +1153,20 @@ int main(int argc, char **argv)
 {
        int i, ret;
        char *base_dir = NULL;
-
-       ret = fsck_cmdline_parser(argc, argv, &conf);
+       struct fsck_cmdline_parser_params params = {
+               .override = 0,
+               .initialize = 1,
+               .check_required = 1,
+               .check_ambiguity = 1,
+               .print_errors = 1
+       };
+       ret = fsck_cmdline_parser_ext(argc, argv, &conf, &params);
        if (ret < 0) {
+               loglevel = EMERG;
                ret = -E_FSCK_SYNTAX;
                goto out;
        }
+       loglevel = conf.loglevel_arg;
        HANDLE_VERSION_FLAG("fsck", conf);
        if (conf.base_dir_given)
                base_dir = para_strdup(conf.base_dir_arg);
@@ -1176,6 +1175,7 @@ int main(int argc, char **argv)
                base_dir = make_message("%s/.paraslash/afs_database", home);
                free(home);
        }
+       INFO_LOG("base_dir: %s\n", base_dir);
        if (!conf.inputs_num) {
                ret = check_all_tables(base_dir);
                goto out;