1 #define _POSIX_C_SOURCE 2
12 int zpm_foreach_path(struct zpm *zpm, char *pkgid, char *where,
13 int (*callback)(void *f, int ncols, char **vals, char **cols),
14 void *data, char **errmsg) {
18 if (!zpm || zpm->error || !callback) return 0;
20 s = sqlite3_str_new(zpm->db);
21 sqlite3_str_appendall(s, "select * from packagefiles_pkgid where ");
24 sqlite3_str_appendf(s, "%s", where);
26 sqlite3_str_appendall(s, "true");
30 sqlite3_str_appendf(s, " and printf('%%s-%%s-%%s', package, version, release) = %Q", pkgid);
34 sql = sqlite3_str_value(s);
36 sqlite3_str_finish(s);
41 zpm_exec(zpm, sql, callback, data, errmsg);
42 sqlite3_str_finish(s);
44 fprintf(stderr, "errmsg: %s\n", *errmsg);