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

Re: svn commit: r1054286 - /subversion/trunk/subversion/libsvn_delta/xdelta.c

From: Stefan Fuhrmann <stefanfuhrmann_at_alice-dsl.de>
Date: Mon, 03 Jan 2011 11:41:54 +0100

On 02.01.2011 17:03, Johan Corveleyn wrote:
> On Sun, Jan 2, 2011 at 4:45 PM, Stefan Fuhrmann
> <stefanfuhrmann_at_alice-dsl.de> wrote:
>> On 02.01.2011 16:38, Johan Corveleyn wrote:
>>> On Sun, Jan 2, 2011 at 9:20 AM, Johan Corveleyn<jcorvel_at_gmail.com> wrote:
>>>> On Sat, Jan 1, 2011 at 9:33 PM,<stefan2_at_apache.org> wrote:
>>>>> Author: stefan2
>>>>> Date: Sat Jan 1 20:33:22 2011
>>>>> New Revision: 1054286
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=1054286&view=rev
>>>>> Log:
>>>>> XDelta calculation is major part of svn_txdelta_send_txstream.
>>>>> Therefore, speed up string matching code and the relatively
>>>>> expensive hash-code (adler32) calculations.
>>>>>
>>>>> * subversion/libsvn_delta/xdelta.c
>>>>> (init_adler32): init adler checksum with 0 instead of 1;
>>>>> use svn_adler32 for performance
>>>>> (adler32_out): "-1" can / must be ommitted now that we
>>>>> start at 0 instead of 1 for s1.
>>>>> (adler32_replace): special, faster implementation replacing
>>>>> a adler32_out(), adler32_in() sequence
>>>>>
>>>>> (match_length): new utility function
>>>>> (find_match): speed up the main loop by calling match_length()
>>>>> (compute_delta): optimize adler32 calculations
>>>>>
>>>>> Modified:
>>>>> subversion/trunk/subversion/libsvn_delta/xdelta.c
>>>> Hi Stefan,
>>>>
>>>> This makes my (Windows 32-bit VCE 2008) build fail:
>>>> svn_delta-1.lib(xdelta.obj) : error LNK2019: unresolved external
>>>> symbol _svn__adler32 referenced in function _init_adler32
>>>> ..\..\..\Release\subversion\libsvn_delta\libsvn_delta-1.dll : fatal
>>>> error LNK1120: 1 unresolved externals
>>> It was actually r1054277 that broke it. The following patch fixes it:
>>> [[[
>>> Index: build.conf
>>> ===================================================================
>>> --- build.conf (revision 1054417)
>>> +++ build.conf (working copy)
>>> @@ -329,7 +329,7 @@ msvc-export =
>>> private\svn_log.h private\svn_mergeinfo_private.h
>>> private\svn_opt_private.h private\svn_skel.h private\svn_sqlite.h
>>> private\svn_utf_private.h private\svn_eol_private.h
>>> - private\svn_token.h
>>> + private\svn_token.h private\svn_adler32.h
>>>
>>> # Working copy management lib
>>> [libsvn_wc]
>>> ]]]
>>>
>> Thanks Johan! Committed in r1054421.
>>
>> -- Stefan^2.
> No problem. I also saw two other warnings (than the ones I just sent),
> but don't know exactly which revision introduced them (and don't know
> how important they are). You'll probably know quicker than I do :-) :
>
> ..\..\..\subversion\libsvn_subr\adler32.c(64): warning C4057:
> 'function' : 'const Bytef *' differs in indirection to slightly
> different base types from 'const char *'
> ..\..\..\subversion\libsvn_subr\adler32.c(64): warning C4244:
> 'function' : conversion from 'apr_off_t' to 'uInt', possible loss of
> data
>
Thanks for notifying! Fixed in r1054579.

-- Stefan^2.
Received on 2011-01-03 11:56:00 CET

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