aboutsummaryrefslogtreecommitdiff
path: root/src/version_spec.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2019-12-29 01:35:09 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2019-12-29 01:35:09 -0500
commit4595ada2f69b42670c85a63c7d2344af63f2afe7 (patch)
tree0d528d8177aceefcf74fb7306fc0fc7cc3c41ece /src/version_spec.c
parent8ae4f8f5985445b1ce3547975f407847c0fee0f7 (diff)
downloadspmc-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.c25
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) {