]> pd.if.org Git - zpackage/blob - lib/createpkg.c
b72e35b45f90e60e252d7dbc3134a610fdb4c789
[zpackage] / lib / createpkg.c
1 #define _POSIX_C_SOURCE 200809L
2
3 #include <stdlib.h>
4 #include <stdio.h>
5 #include <string.h>
6 #include <ctype.h>
7
8 #include "zpm.h"
9
10 #define DMARK fprintf(stderr, "mark %s %s:%d\n", __FILE__, __func__, __LINE__)
11
12 int zpm_create_pkgid(struct zpm *zpm, char *pkgstr) {
13         int release;
14         char version[32];
15         char package[64];
16         int found;
17
18         if (!pkgstr) {
19                 return 0;
20         }
21
22         found = zpm_parse_package(pkgstr, package, version, &release);
23         if (found != 3) {
24                 return 0;
25         }
26
27         return zpm_create_package(zpm, package, version, release);
28 }
29
30 int zpm_create_package(struct zpm *zpm, char *name, char *ver, int rel) {
31         char *ins = "insert into packages (package, version, release) values (%Q,%Q,%d);";
32
33         if (zpm->error) {
34                 return 0;
35         }
36
37         zpm_db_run(zpm, ins, name, ver, rel);
38         return zpm->error ? 0 : 1;
39 }