Daniel Shahaf wrote: > Julian Foad wrote on Thu, Feb 14, 2013 at 21:17:03 +0000: >> Daniel Shahaf wrote: >> > @@ -739,8 +743,8 @@ init_sqlite(void *baton, apr_pool_t *pool) >> > { >> > int err = sqlite3_config(SQLITE_CONFIG_MULTITHREAD); >> > if (err != SQLITE_OK && err != SQLITE_MISUSE) >> > - return svn_error_create(SQLITE_ERROR_CODE(err), NULL, >> > - _("Could not configure > SQLite")); >> > + return svn_error_createf(SQLITE_ERROR_CODE(err), NULL, >> > + _("Could not configure SQLite > (%d)"), >> > err); >> >> In cases like this one, it seems we should be using one of the above sqlite > -> svn error converters so that we get the full SQLite description, and then > wrapping the resulting svn error object with "Could not configure > SQLite". >> > > As in: > > return svn_error_quick_wrap(svn_error_create(SQLITE_ERROR_CODE(err), > NULL, NULL) > _("Could not configure SQLite (%d)")); > > ?
No. I mean a chain of two svn error objects, one containing SQLite's expansion of 'err' (including both its number and its message), which you can get from e.g. the SQLITE_ERR() macro; and one containing the wrapper message "Could not configure SQLite". Such as: return svn_error_quick_wrap(SQLITE_ERR(err, db), _("Could not configure SQLite")); - Julian