#define _POSIX_C_SOURCE 2 #include #include #include #include #include #include "sqlite3.h" #include "zpm.h" int zpm_foreach_path(struct zpm *zpm, char *pkgid, int (*callback)(void *f, int ncols, char **vals, char **cols), void *data, char **errmsg) { char *files = "select * from packagefiles where" " printf('%%s-%%s-%%s', package, version, release) = %Q" " order by path" ; char *sql; sql = sqlite3_mprintf(files, pkgid); if (!sql) { return 0; zpm->error = 1; } zpm_exec(zpm, sql, callback, data, errmsg); if (errmsg) { zpm->error = 2; return 0; } return 1; }