<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Sep 29, 2013 at 11:10 PM, Daniel Jeliński <span dir="ltr"><<a href="mailto:djelinski1@gmail.com" target="_blank">djelinski1@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im">2013/9/30 Nikolay Sivov <span dir="ltr"><<a href="mailto:bunglehead@gmail.com" target="_blank">bunglehead@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 9/30/2013 00:51, Daniel Jeliński wrote:<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+struct progress_list {<br>
+    const DWORD progress_retval_init;  /* value to return from progress routine */<br>
+    const BOOL cancel_init;            /* value to set Cancel flag to */<br>
+    const DWORD progress_retval_end;   /* value to return from progress routine */<br>
+    const BOOL cancel_end;             /* value to set Cancel flag to */<br>
+    const DWORD progress_count;        /* number of times progress is invoked */<br>
+    const BOOL copy_retval;            /* expected CopyFileEx result */<br>
+    const DWORD lastError;             /* expected CopyFileEx error code */<br>
+} ;<br>
</blockquote> I don't see a point making them 'const'.<br></blockquote></div><div>I'm matching the formatting of existing code:</div><div><a href="http://source.winehq.org/source/dlls/kernel32/tests/file.c#L65" target="_blank">http://source.winehq.org/source/dlls/kernel32/tests/file.c#L65</a></div>

<div>Also, what's the point of not making them const?</div></div></blockquote><div><br></div><div>It's a little strange, stylewise. More consistent with C++ style would be to make the entire struct constant. But in a test, we often eschew with such things if they distract, and here I think they do.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im"><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+static DWORD WINAPI progress(LARGE_INTEGER TotalFileSize,<br>
+        LARGE_INTEGER TotalBytesTransferred,<br>
+        LARGE_INTEGER StreamSize,<br>
+        LARGE_INTEGER StreamBytesTransferred,<br>
+        DWORD dwStreamNumber,<br>
+        DWORD dwCallbackReason,<br>
+        HANDLE hSourceFile,<br>
+        HANDLE hDestinationFile,<br>
+        LPVOID lpData)<br>
+{<br>
+    progressInvoked++;<br>
</blockquote>
Please pass all globals as context data with lpData, and please use 'void*' instead of LPVOID.<br>
</blockquote></div>Good point about lpData. Still, does that make the patch invalid? Why didn't you mention that on the first review?<div class="gmail_extra">About LPVOID - I'm matching the headers:<br></div><div class="gmail_extra">

<a href="http://source.winehq.org/source/include/winbase.h#L910" target="_blank">http://source.winehq.org/source/include/winbase.h#L910</a></div><div class="gmail_extra">for the third patch:</div><div class="gmail_extra">
<a href="http://source.winehq.org/source/include/winbase.h#L1018" target="_blank">http://source.winehq.org/source/include/winbase.h#L1018</a></div></div></blockquote><div><br></div><div>LPVOID is just an uglier #define of void*. It's easier to read as void*, so please use that instead.</div>
<div>--Juan</div></div></div></div>