diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2019-12-29 01:35:09 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2019-12-29 01:35:09 -0500 |
commit | 4595ada2f69b42670c85a63c7d2344af63f2afe7 (patch) | |
tree | 0d528d8177aceefcf74fb7306fc0fc7cc3c41ece /src/spm.c | |
parent | 8ae4f8f5985445b1ce3547975f407847c0fee0f7 (diff) | |
download | spmc-4595ada2f69b42670c85a63c7d2344af63f2afe7.tar.gz |
Minor fixes:
* size_t in place of int
* Moved some variables closer to their execution scope
* Add some error checks
Diffstat (limited to 'src/spm.c')
-rw-r--r-- | src/spm.c | 46 |
1 files changed, 24 insertions, 22 deletions
@@ -12,18 +12,16 @@ int RUNTIME_SEARCH = 0; const int PACKAGE_MAX = 0xff; void usage(const char *program_name) { - printf( - "usage: %s [-hVvBIrLS]\n" - " -h, --help show this help message\n" - " -V, --version show version\n" - " -v, --verbose show more information\n" - " -B, --build build package(s)\n" - " -I, --install install package(s)\n" - " -r, --root installation prefix (requires --install)\n" - " -L, --list list available packages\n" - " -S, --search search for a package\n" - , program_name - ); + printf("usage: %s [-hVvBIrLS]\n" + " -h, --help show this help message\n" + " -V, --version show version\n" + " -v, --verbose show more information\n" + " -B, --build build package(s)\n" + " -I, --install install package(s)\n" + " -r, --root installation prefix (requires --install)\n" + " -L, --list list available packages\n" + " -S, --search search for a package\n" + , program_name); } int main(int argc, char *argv[]) { @@ -180,9 +178,13 @@ int main(int argc, char *argv[]) { } package = manifest_search(manifest, packages[i]); + if (!package) { + fprintf(stderr, "Package not found: %s\n", packages[i]); + continue; + } // If the package has dependencies listed, append them to `deps` now - if (package && package->requirements) { + if (package->requirements) { for (int p = 0; package->requirements[p] != NULL; p++) { dep_append(&deps, package->requirements[p]); } @@ -256,29 +258,29 @@ int main(int argc, char *argv[]) { memset(ver, '\0', sizeof(ver)); // Parse the argument string - int p = 0; + int c = 0; // Populate name - for (int j = 0; package_search_str[p] != '\0'; j++, p++) { - if (isrelational(package_search_str[p])) { + for (int j = 0; package_search_str[c] != '\0'; j++, c++) { + if (isrelational(package_search_str[c])) { break; } - name[j] = package_search_str[p]; + name[j] = package_search_str[c]; } if (RUNTIME_SEARCH) { // Populate op - for (int j = 0; package_search_str[p] != '\0'; j++, p++) { - if (!isrelational(package_search_str[p])) { + for (int j = 0; package_search_str[c] != '\0'; j++, c++) { + if (!isrelational(package_search_str[c])) { break; } - op[j] = package_search_str[p]; + op[j] = package_search_str[c]; } if (strlen(op)) { // Populate version - for (int j = 0; package_search_str[p] != '\0'; j++, p++) { - ver[j] = package_search_str[p]; + for (int j = 0; package_search_str[c] != '\0'; j++, c++) { + ver[j] = package_search_str[c]; } } else { // No operator, so find all versions instead |