Log Message: |
Clean up the FS error handling: fix a stack smasher, and simplify a
lot of the error reporting.
* include/svn_fs.h (svn_fs_warning_callback_t): simplify the arguments
to what the FS actually cares about passing -- just a baton and
the error.
* include/svn_error.h (svn_handle_warning): simplify the arguments to
what callers are typically doing -- print an error to a stream.
* libsvn_fs/fs.h (struct svn_fs_t): toss the cleanup_error member. it
made some sense originally, but is way past time to go.
* libsvn_fs/fs.c
(default_warning_func): adjust args to match the new type
(print_fs_stats): new function to dump stats; factored out of
svn_fs_close_fs().
(cleanup_fs_apr): lose an unneeded cast. call the stat printer.
invoke the warning function if an error is generated. don't worry
about the cleanup_error stuff. clear the error when done.
(svn_fs_new): don't use the C++ keyword "new" as a variable name.
lose some needless casts.
(svn_fs_close_fs): shift the stat printing to print_fs_stats. get
rid of the cleanup_error stack smasher. it was poining to &svn_err
on the stack, then the function simply returned. oops. (it used
to immediately clean up the pool, but no more...)
* libsvn_subr/error.c (svn_handle_warning): update to new args
* mod_dav_svn/repos.c (log_warning): update to the new FS warning
function signature.
* clients/cmdline/add-cmd.c (svn_cl__add): update call to
svn_handle_warning.
* clients/cmdline/resolve-cmd (svn_cl__resolve): ditto
* tests/libsvn_ra_local/ra-local-test.c
(berkeley_error_handler): removed
(fs_new): removed
(create_fs_and_repos): use svn_test__fs_new from the test library,
rather than the local fs_new().
* tests/fs-helpers.c
(fs_warning_handler): new function
(svn_test__fs_new): use the new fs_warning_handler function rather
than svn_handle_warning.
|