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/version_spec.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/version_spec.c')
-rw-r--r-- | src/version_spec.c | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/src/version_spec.c b/src/version_spec.c index 1bd31ae..57b86c4 100644 --- a/src/version_spec.c +++ b/src/version_spec.c @@ -253,7 +253,7 @@ int version_spec_from(const char *op) { } } return flags; -}; +} /** * @@ -278,24 +278,19 @@ static int _find_by_spec_compare(const void *a, const void *b) { * @return */ ManifestPackage **find_by_spec(Manifest *manifest, const char *name, const char *op, const char *version_str) { - int64_t version_a = 0; - int64_t version_b = 0; - int spec = VERSION_NOOP; - int record = 0; + size_t record = 0; ManifestPackage **list = (ManifestPackage **) calloc(manifest->records + 1, sizeof(ManifestPackage *)); + if (!list) { + perror("ManifestPackage array"); + fprintf(SYSERROR); + return NULL; + } for (int i = 0; i < manifest->records; i++) { if (strcmp(manifest->packages[i]->name, name) == 0) { - int is_equal = 0, - is_not_equal = 0, - is_less_than = 0, - is_greater_than = 0, - is_compat = 0; - - version_a = version_from(manifest->packages[i]->version); - version_b = version_from(version_str); - - spec = version_spec_from(op); + int64_t version_a = version_from(manifest->packages[i]->version); + int64_t version_b = version_from(version_str); + int spec = version_spec_from(op); int res = 0; if (spec & VERSION_GT && spec & VERSION_EQ) { |