[PATCH 2/3] msvcp110: Add tr2_sys__Symlink implementation and test.
YongHao Hu
christopherwuy at gmail.com
Thu Feb 11 07:07:58 CST 2016
Hi,
On 16/2/8 下午7:11, Piotr Caban wrote:
> Hi,
>
> On 02/05/16 10:30, YongHao Hu wrote:
>> On 16/1/12 下午9:28, Piotr Caban wrote:
>>> On 01/11/16 14:56, YongHao Hu wrote:
>>>> + delete_flag = 1;
>>>> + for(i=0; i<sizeof(tests)/sizeof(tests[0]); i++) {
>>>> + errno = 0xdeadbeef;
>>>> + SetLastError(0xdeadbeef);
>>>> + ret = p_tr2_sys__Symlink(tests[i].existing_path,
>>>> tests[i].new_path);
>>>> + if(ret==ERROR_PRIVILEGE_NOT_HELD ||
>>>> ret==ERROR_INVALID_FUNCTION) {
>>>> + delete_flag = 0;
>>>> + tests[i].last_error = ret;
>>>> + win_skip("Privilege not held or symbolic link not
>>>> supported, skipping symbolic link tests.\n");
>>> I think it would be nicer if the tests are really skipped in this
>>> case. Please detect such case and return from the function instead of
>>> adding workarounds in the code for it.
>>>
>> Could you explain a bit more details?
> You're trying to create the symlinks in loop. Because of this if
> symbolic links are not supported you're printing this information many
> times. I think you should try to create one symlink and if it doesn't
> work just skip all of the tests.
>
Do you think adding a break in the loop after detecting such case is
good?For example:
delete_flag = 1;
for(i=0; i<sizeof(tests)/sizeof(tests[0]); i++) {
errno = 0xdeadbeef;
SetLastError(0xdeadbeef);
ret = p_tr2_sys__Symlink(tests[i].existing_path,
tests[i].new_path);
if(ret==ERROR_PRIVILEGE_NOT_HELD ||
ret==ERROR_INVALID_FUNCTION) {
delete_flag = 0;
tests[i].last_error = ret;
win_skip("Privilege not held or symbolic link not
supported, skipping symbolic link tests.\n");
+ break;
}
}
Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20160211/7572d54c/attachment-0001.html>
More information about the wine-devel
mailing list