From: Nathan Wagner Date: Fri, 15 Feb 2019 18:29:36 +0000 (+0000) Subject: add create package X-Git-Tag: v0.5.0~6 X-Git-Url: https://pd.if.org/git/?p=zpackage;a=commitdiff_plain;h=721959c34ffc2f41c044311f9823c50f3835d747 add create package --- diff --git a/lib/createpkg.c b/lib/createpkg.c new file mode 100644 index 0000000..b72e35b --- /dev/null +++ b/lib/createpkg.c @@ -0,0 +1,39 @@ +#define _POSIX_C_SOURCE 200809L + +#include +#include +#include +#include + +#include "zpm.h" + +#define DMARK fprintf(stderr, "mark %s %s:%d\n", __FILE__, __func__, __LINE__) + +int zpm_create_pkgid(struct zpm *zpm, char *pkgstr) { + int release; + char version[32]; + char package[64]; + int found; + + if (!pkgstr) { + return 0; + } + + found = zpm_parse_package(pkgstr, package, version, &release); + if (found != 3) { + return 0; + } + + return zpm_create_package(zpm, package, version, release); +} + +int zpm_create_package(struct zpm *zpm, char *name, char *ver, int rel) { + char *ins = "insert into packages (package, version, release) values (%Q,%Q,%d);"; + + if (zpm->error) { + return 0; + } + + zpm_db_run(zpm, ins, name, ver, rel); + return zpm->error ? 0 : 1; +}