Re: ntdll: fix read_directory_getdirentries() under FreeBSD.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 28.12.2014 um 21:09 schrieb David Naylor:
Change the handling of getdirentries(2) by: - tracking the data pointer instead of subtracting 'res' - simplify rewind by skipping re-appending entries onto the list - try make the logic easier to follow --- dlls/ntdll/directory.c | 73 +++++++++++++++++++------------------------------- 1 file changed, 28 insertions(+), 45 deletions(-)
Hi and welcome to Wine development, maybe it's just me, but the patch is not easy to review. Is it possible to split the patch into multiple atomic patches (maybe three, as in the change list you provided)? Also, how does the patch fix Wine on FreeBSD? A quick look at the patch itself: You missed a whitespace at the last lseek call. You're adding a FIXME comment, but you should rather clarify your question, use wine-devel and/or IRC and/or "git blame" for that. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQGcBAEBAgAGBQJUoVfbAAoJEGm5GZTakYssGkoMAIfOM3ulOIh28PKA3RS0IByC sEk8AerEkKyN2nS4d2hNRU/kHIFlW+wHfi8Ah7FhBGepZ0HIHrWqZhuMmZsYx1W/ MeYyW+bROa+uCGWYvz7w9aaXW+xOIKDaJ7mIQrJKnkMgOQ3FFI8yKa6tRSSAm6iA Xg2porB96Ov+lLcl6zq0UATuVgqENhzSRrMxHh/YhVwK3xO7hSQ4ysgMJj2cBg7A XX7cEdxys1X5kSAO10I/gucmtKe3GrQi++DWx6VUd1O4WIEtm86c1gO2UtbUxYNf p9q5feajTJLscWOKpaC032fLrfFcnkhSS1ZwyIl7TfICaWW6u+8zfrcrVG8xfPkR MfbCRrJpkCFXsa5bYJLTPdD+0LETPlJ48zkyRyny56XYwgkBlgPirVlCeYnSZs9t CCOaHYYrMePAyB1DLZeJIdCCmyy8gLlY9cu28SgbN/oaHuYtwfrPbXKt30fwhZyM cOcTZnZZuYSeb5oVt72O+j0GbkSW2x+juFuVhyBvlw== =RACU -----END PGP SIGNATURE-----
On Monday, 29 December 2014 14:32:20 André Hentschel wrote:
Am 28.12.2014 um 21:09 schrieb David Naylor:
Change the handling of getdirentries(2) by: - tracking the data pointer instead of subtracting 'res' - simplify rewind by skipping re-appending entries onto the list - try make the logic easier to follow --- dlls/ntdll/directory.c | 73 +++++++++++++++++++------------------------------- 1 file changed, 28 insertions(+), 45 deletions(-) Hi and welcome to Wine development,
Hi, Thanks for the welcome.
maybe it's just me, but the patch is not easy to review.
The patch was almost a complete rewrite, taking a different approach to solve the problem, so I would suggest looking at it more applied than as a change to code.
Is it possible to split the patch into multiple atomic patches (maybe three, as in the change list you provided)?
I think I could split it up. I'll do what I can. How do I mark this patch as superseded by the other (split-up) patches?
Also, how does the patch fix Wine on FreeBSD?
Please see bug 35397 [1] for the full details. The summary is that resumes failed, duplicating items and skipping over others.
A quick look at the patch itself: You missed a whitespace at the last lseek call.
Will fix.
You're adding a FIXME comment, but you should rather clarify your question, use wine-devel and/or IRC and/or "git blame" for that.
The change in question was done by Alexandre Julliard, in revision 96b7c71c. Regards
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 29.12.2014 um 17:34 schrieb David Naylor:
On Monday, 29 December 2014 14:32:20 André Hentschel wrote:
Am 28.12.2014 um 21:09 schrieb David Naylor:
Change the handling of getdirentries(2) by: - tracking the data pointer instead of subtracting 'res' - simplify rewind by skipping re-appending entries onto the list - try make the logic easier to follow --- dlls/ntdll/directory.c | 73 +++++++++++++++++++------------------------------- 1 file changed, 28 insertions(+), 45 deletions(-) Hi and welcome to Wine development,
Hi,
Thanks for the welcome.
maybe it's just me, but the patch is not easy to review.
The patch was almost a complete rewrite, taking a different approach to solve the problem, so I would suggest looking at it more applied than as a change to code.
Is it possible to split the patch into multiple atomic patches (maybe three, as in the change list you provided)?
I think I could split it up. I'll do what I can. How do I mark this patch as superseded by the other (split-up) patches?
mention it in the first patch of the series
Also, how does the patch fix Wine on FreeBSD?
Please see bug 35397 [1] for the full details. The summary is that resumes failed, duplicating items and skipping over others.
mentioning the bug number is always a good idea
A quick look at the patch itself: You missed a whitespace at the last lseek call.
Will fix.
You're adding a FIXME comment, but you should rather clarify your question, use wine-devel and/or IRC and/or "git blame" for that.
The change in question was done by Alexandre Julliard, in revision 96b7c71c.
"git show 96b7c71c" gives some information -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQGcBAEBAgAGBQJUoZRTAAoJEGm5GZTakYssyWYMAJ+3/qJfM20AyThz0Rg9/9oI hfG/VXXDB3swzJmOgyhHwQWWuedVDu9zc33qV90tN3LKavbXwvyuWNoPuJoPyFM5 kgztboOfXreOemv1iyei+Rlwt3B711DAWFclWM/mtdPnA7FFiMv/yOhozfLcD327 C13u026wzNSd1LKsV22vPge9OqY6U5pBNiuEYLMm+5S5+YHX/P2uD6isQdaB/OV3 SWkjQ0y2eOkt+uvu2Iv0TZJLuN9w6LUaq8oEpyF8t7lOGdUJZ2gWOeKxRz7LihC6 ox1zrz3/9rLKmawHHey0rxdG+46LmPx8szq/lzSpYiYRn1/V4vengf/cR4XyTMDc kGY6KrUyRCC247b/us2Vzqhb31og/0auSRNMXZwMB6jKWXzMMEcgIdV6Sa+8nw8J q0FWEJE1o5wOUke7HTEcddaYCxPGycRwxYhNzF19UL9IuQuQxpXjBv6Z36AtqwuV UZCah3S/5X+eYLXXQ1UXr5Hba2BLNLs9/u0Pk9qifw== =neiw -----END PGP SIGNATURE-----
On Monday, 29 December 2014 18:50:12 André Hentschel wrote:
Am 29.12.2014 um 17:34 schrieb David Naylor:
On Monday, 29 December 2014 14:32:20 André Hentschel wrote:
</snip> Thanks :-)
You're adding a FIXME comment, but you should rather clarify your question, use wine-devel and/or IRC and/or "git blame" for that.> The change in question was done by Alexandre Julliard, in revision 96b7c71c. "git show 96b7c71c" gives some information
My understanding is that has_wildcard() returns false if the pattern it contains will only match a singe file. If we have already received that file then there is no reason continue processing the directory contents. In the case of getdirentries(), it will attempt a "reset" however in this case there is no need for such extra work since a "restart" will not occur. ???
participants (2)
-
André Hentschel -
David Naylor