vieter/src/package/c/package_info.c

47 lines
1.2 KiB
C

#include "package_info.h"
PkgInfo *package_info_init() {
PkgInfo *pkg_info = calloc(1, sizeof(PkgInfo));
pkg_info->groups = dynarray_init(4);
pkg_info->licenses = dynarray_init(4);
pkg_info->replaces = dynarray_init(4);
pkg_info->depends = dynarray_init(4);
pkg_info->conflicts = dynarray_init(4);
pkg_info->provides = dynarray_init(4);
pkg_info->optdepends = dynarray_init(4);
pkg_info->makedepends = dynarray_init(4);
pkg_info->checkdepends = dynarray_init(4);
return pkg_info;
}
void package_info_free(PkgInfo **ptp) {
PkgInfo *pkg_info = *ptp;
FREE_STRING(pkg_info->name);
FREE_STRING(pkg_info->base);
FREE_STRING(pkg_info->version);
FREE_STRING(pkg_info->description);
FREE_STRING(pkg_info->url);
FREE_STRING(pkg_info->arch);
FREE_STRING(pkg_info->packager);
FREE_STRING(pkg_info->pgpsig);
dynarray_free(&pkg_info->groups);
dynarray_free(&pkg_info->licenses);
dynarray_free(&pkg_info->replaces);
dynarray_free(&pkg_info->depends);
dynarray_free(&pkg_info->conflicts);
dynarray_free(&pkg_info->provides);
dynarray_free(&pkg_info->optdepends);
dynarray_free(&pkg_info->makedepends);
dynarray_free(&pkg_info->checkdepends);
*ptp = NULL;
}
void package_info_parse(PkgInfo *pkg_info, const char *pkg_info_str) {
}