David James <james82@gmail.com> writes:
> [[[
>
> Create copy constructors for svn_txdelta_window_t,
> svn_log_changed_path_t, and svn_auth_ssl_server_cert_info_t.
> (These copy constructors are needed to solve the segfaults
> in the Python bindings caused by issue 2172.)
>
> * subversion/include/svn_delta.h
> (svn_txdelta_window_dup): New function.
> * subversion/include/svn_types.h
> (svn_log_changed_path_dup): New function.
> * subversion/include/svn_auth.h
> (svn_auth_ssl_server_cert_info_dup): New function.
> * subversion/libsvn_subr/constructors.c
> (svn_log_changed_path_dup,
> svn_auth_ssl_server_cert_info_dup): New functions.
> * subversion/libsvn_delta/delta.h
> (svn_txdelta__copy_window): Remove function.
> * subversion/libsvn_delta/text_delta.c
> (svn_txdelta__copy_window): Rename function to svn_txdelta_window_dup.
> * subversion/bindings/libsvn_fs_base
> (compose_handler): Use svn_txdelta_window_dup instead of
> svn_txdelta__copy_window.
>
> ]]]
I find log messages without empty lines between modification groups
really hard to parse.
Also, I think it's more useful to refer to svn_txdelta_window_dup()
not as a new function, but as a renamed function (renamed from
svn_txdelta__copy_window(), and make public). You know, tie the
history of these two functions together. Something like:
Fix segfaults in the Python bindings caused by pool lifetime
problems by creating/exposing deep-copy utilities for various
structure types. This is a followup to the work done for issue
#2172.
* subversion/include/svn_delta.h
(svn_txdelta_window_dup): Rename from svn_txdelta__copy_window(),
and publicize.
* subversion/include/svn_types.h
(svn_log_changed_path_dup): New.
* subversion/include/svn_auth.h
(svn_auth_ssl_server_cert_info_dup): New.
* subversion/libsvn_subr/constructors.c
(svn_log_changed_path_dup, svn_auth_ssl_server_cert_info_dup): New.
* subversion/libsvn_delta/delta.h
(svn_txdelta__copy_window): Remove.
* subversion/libsvn_delta/text_delta.c
(svn_txdelta__copy_window): Rename to svn_txdelta_window_dup().
* subversion/bindings/libsvn_fs_base
(compose_handler): Use svn_txdelta_window_dup instead of
svn_txdelta__copy_window.
Other than that, +1 on the change (which I've only visually reviewed,
not applied/tested).
--
C. Michael Pilato <cmpilato@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Sep 28 19:29:32 2005