2013/9/30 Nikolay Sivov <bunglehead(a)gmail.com>
On 9/30/2013 00:51, Daniel Jeliński wrote:
+struct progress_list {
+ const DWORD progress_retval_init; /* value to return from progress routine */ + const BOOL cancel_init; /* value to set Cancel flag to */ + const DWORD progress_retval_end; /* value to return from progress routine */ + const BOOL cancel_end; /* value to set Cancel flag to */ + const DWORD progress_count; /* number of times progress is invoked */ + const BOOL copy_retval; /* expected CopyFileEx result */ + const DWORD lastError; /* expected CopyFileEx error code */ +} ;
I don't see a point making them 'const'.
I'm matching the formatting of existing code: http://source.winehq.org/source/dlls/kernel32/tests/file.c#L65 Also, what's the point of not making them const? +static DWORD WINAPI progress(LARGE_INTEGER TotalFileSize,
+ LARGE_INTEGER TotalBytesTransferred, + LARGE_INTEGER StreamSize, + LARGE_INTEGER StreamBytesTransferred, + DWORD dwStreamNumber, + DWORD dwCallbackReason, + HANDLE hSourceFile, + HANDLE hDestinationFile, + LPVOID lpData) +{ + progressInvoked++;
Please pass all globals as context data with lpData, and please use 'void*' instead of LPVOID.
Good point about lpData. Still, does that make the patch invalid? Why didn't you mention that on the first review? About LPVOID - I'm matching the headers: http://source.winehq.org/source/include/winbase.h#L910 for the third patch: http://source.winehq.org/source/include/winbase.h#L1018 Also, any comments on patch 3?