[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r35403 - trunk/subversion/libsvn_subr

From: Greg Stein <gstein_at_gmail.com>
Date: Thu, 22 Jan 2009 23:37:55 +0100

On Thu, Jan 22, 2009 at 22:29, Hyrum K. Wright <hyrum_at_hyrumwright.org> wrote:
>...
> +++ trunk/subversion/libsvn_subr/sqlite.c Thu Jan 22 13:29:38 2009 (r35403)
> @@ -185,8 +185,11 @@ svn_sqlite__step(svn_boolean_t *got_row,
> int sqlite_result = sqlite3_step(stmt->s3stmt);
>
> if (sqlite_result != SQLITE_DONE && sqlite_result != SQLITE_ROW)
> - /* Extract the real error value and reset the statement. */
> - SVN_ERR(svn_sqlite__reset(stmt));
> + {
> + SQLITE_ERR(sqlite_result, stmt->db);
> + /* Reset the statement. */
> + svn_error_clear(svn_sqlite__reset(stmt));
> + }

Eh? The SQLITE_ERR() is going to pop it right out of this function. It
won't ever run __reset().

Seems like the right thing is to get the svn_error_create() called,
stash that, then do the clear(reset), then return the svn error. A
little jiggering in the macros at the top of the file should expose
the error creation logic.

Cheers,
-g

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1043647
Received on 2009-01-22 23:38:10 CET

This is an archived mail posted to the Subversion Dev mailing list.