static PyObject * evr_cmp(_PackageObject *self, PyObject *other) { HyPackage pkg2 = packageFromPyObject(other); if (pkg2 == NULL) return NULL; return PyLong_FromLong(hy_package_evr_cmp(self->package, pkg2)); }
int hy_package_cmp(HyPackage pkg1, HyPackage pkg2) { Pool *pool1 = package_pool(pkg1); Pool *pool2 = package_pool(pkg2); Solvable *s1 = pool_id2solvable(pool1, pkg1->id); Solvable *s2 = pool_id2solvable(pool2, pkg2->id); const char *str1 = pool_id2str(pool1, s1->name); const char *str2 = pool_id2str(pool2, s2->name); int ret = strcmp(str1, str2); if (ret) return ret; ret = hy_package_evr_cmp(pkg1, pkg2); if (ret) return ret; str1 = pool_id2str(pool1, s1->arch); str2 = pool_id2str(pool2, s2->arch); return strcmp(str1, str2); }