Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Fix SQL queries. Play with macros to add file and line on error messages when debugging.
jlaffaye committed 15 years ago
commit 2e425569530df54a778bbc3283f83e6419634caa
parent 801b27337bd49c749cc89bfac1de16195b1b112b
3 files changed +13 -6
modified libpkg/pkg_error.c
@@ -22,7 +22,7 @@ static void pkg_error_init_once(void);
static void pkg_error_key_free(void *);

pkg_error_t
-
pkg_error_set(pkg_error_t num, const char *fmt, ...)
+
_pkg_error_set(pkg_error_t num, const char *fmt, ...)
{
	struct pkg_error *e;
	va_list ap;
modified libpkg/pkg_error.h
@@ -1,13 +1,20 @@
#ifndef _PKG_ERROR_H
#define _PKG_ERROR_H

+
#ifdef DEBUG
+
#	define pkg_error_set(code, fmt, ...) \
+
		_pkg_error_set(code, fmt " [at %s:%d]", ##__VA_ARGS__, __FILE__, __LINE__)
+
#else
+
#	define pkg_error_set _pkg_error_set
+
#endif
+

#define ERROR_BAD_ARG(name) \
-
	pkg_error_set(EPKG_FATAL, "Bad argument %s in %s", name, __FUNCTION__)
+
	pkg_error_set(EPKG_FATAL, "Bad argument `%s` in %s", name, __FUNCTION__)

#define ERROR_SQLITE(db) \
-
	pkg_error_set(EPKG_FATAL, "sqlite: %s", sqlite3_errmsg(db))
+
	pkg_error_set(EPKG_FATAL, "%s (sqlite)", sqlite3_errmsg(db))

-
pkg_error_t pkg_error_set(pkg_error_t, const char *, ...);
+
pkg_error_t _pkg_error_set(pkg_error_t, const char *, ...);
pkg_error_t pkg_error_seterrno(void);

#endif
modified libpkg/pkgdb.c
@@ -559,7 +559,7 @@ pkgdb_query_dep(struct pkgdb *db, const char *origin) {
	sqlite3_stmt *stmt;
	const char sql[] = ""
		"SELECT p.origin, p.name, p.version, p.comment, p.desc, m.content, "
-
			"p.message, p.arch, p.osversion, p.maintainer, p.www "
+
			"p.message, p.arch, p.osversion, p.maintainer, p.www, "
			"p.prefix, p.flatsize "
		"FROM packages AS p, mtree AS m, deps AS d "
		"WHERE m.id = p.mtree_id "
@@ -581,7 +581,7 @@ pkgdb_query_rdep(struct pkgdb *db, const char *origin) {
	sqlite3_stmt *stmt;
	const char sql[] = ""
		"SELECT p.origin, p.name, p.version, p.comment, p.desc, m.content, "
-
			"p.message, p.arch, p.osversion, p.maintainer, p.www "
+
			"p.message, p.arch, p.osversion, p.maintainer, p.www, "
			"p.prefix, p.flatsize "
		"FROM packages AS p, mtree AS m, deps AS d "
		"WHERE m.id = p.mtree_id "