diff options
| author | dacctal <dacctal@symlinx.net> | 2026-06-11 20:07:13 +0000 |
|---|---|---|
| committer | dacctal <dacctal@symlinx.net> | 2026-06-11 20:07:13 +0000 |
| commit | d057a68a837d278f5dfe55a5dc3c4998e4f126f5 (patch) | |
| tree | 2ab65bbca01943bbfc36bade64b20771f7e28da9 /src/cla_parse.c | |
| parent | 12fc304f6627dabb2e907582b1ea724c9cad2297 (diff) | |
cpdir checkpoint
Diffstat (limited to 'src/cla_parse.c')
| -rw-r--r-- | src/cla_parse.c | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/src/cla_parse.c b/src/cla_parse.c index 9c62e07..4eae6f6 100644 --- a/src/cla_parse.c +++ b/src/cla_parse.c @@ -24,7 +24,7 @@ code #define NOT_ENOUGH_ARGS(arg, next) \ - printf("%sNot enough arguments! Try: `pkgit %s [%s]`\n", print_error, arg, \ + printf("%s Not enough arguments! Try: `pkgit %s [%s]`\n", print_error, arg, \ next) void cla_parse(int argc, char **argv) { @@ -38,6 +38,7 @@ void cla_parse(int argc, char **argv) { for (int i = 1; i < argc; i++) { COMMAND("--link", "-l", { is_symlink_install = true; }); COMMAND("--quiet", "-q", { is_verbose = false; }); + COMMAND("--force", "-f", { is_forced = true; }); } for (int i = 1; i < argc; i++) { @@ -50,32 +51,38 @@ void cla_parse(int argc, char **argv) { }); COMMAND("build", "b", { if (argv[i + 1]) { - if (argv[i + 2]) { - pkg = create_pkg(argv[i + 1], argv[i + 2]); - build(pkg); - } else if (!is_verbose) { - pkg = create_pkg(argv[i + 1], "quiet"); - build(pkg); + if (!is_verbose) { + for (int j = i + 1; j < argc; j++) { + if (argv[j][0] == '-') continue; + pkg = create_pkg(argv[j]); + build(pkg); + } } else { - pkg = create_pkg(argv[i + 1], "default"); - build(pkg); + for (int j = i + 1; j < argc; j++) { + if (argv[j][0] == '-') continue; + pkg = create_pkg(argv[j]); + build(pkg); + } } } else { - pkg = create_pkg(".", "default"); + pkg = create_pkg("."); build(pkg); } }); COMMAND("install", "i", { if (argv[i + 1]) { - if (argv[i + 2]) { - pkg = create_pkg(argv[i + 1], argv[i + 2]); - install_pkg(pkg); - } else if (!is_verbose) { - pkg = create_pkg(argv[i + 1], "quiet"); - install_pkg(pkg); + if (!is_verbose) { + for (int j = i + 1; j < argc; j++) { + if (argv[j][0] == '-') continue; + pkg = create_pkg(argv[j]); + install_pkg(pkg); + } } else { - pkg = create_pkg(argv[i + 1], "default"); - install_pkg(pkg); + for (int j = i + 1; j < argc; j++) { + if (argv[j][0] == '-') continue; + pkg = create_pkg(argv[j]); + install_pkg(pkg); + } } } else { NOT_ENOUGH_ARGS(argv[i], "url/pkg"); @@ -83,8 +90,11 @@ void cla_parse(int argc, char **argv) { }); COMMAND("remove", "r", { if (argv[i + 1]) { - pkg = create_pkg(argv[i + 1], "default"); - remove_pkg(pkg); + for (int j = i + 1; j < argc; j++) { + if (argv[j][0] == '-') continue; + pkg = create_pkg(argv[j]); + remove_pkg(pkg); + } } else { NOT_ENOUGH_ARGS(argv[i], "url/pkg"); } |
