[PATCH 0/1] MR352: cmd: Don't loop infinitely on NUL.

Arek Hiler (@ivyl) wine at gitlab.winehq.org
Wed Jul 6 08:18:14 CDT 2022


Ah. Thanks for testing! I didn't even know about the `^Z` behavior. A lot of the Windows things are fairly foreign to me.

I was testing `WCMD_for()` while failing to recognize that `WCMD_fgets()` may be used by other things that behave a bit differently.

Your attached patch looks better than my attempt at the fix and solves my problem. Can you make it in a proper patch so we can supersede this MR? I don't feel like claiming authorship on this one.

I did some extra testing myself and there's even more weirdness to `FOR /F`... It handles UTF-16 but only in some cases. When you try to read a UTF-16 file with a BOM it just stop on the first NUL byte, but if the output comes from a command (via USEBACKQ, one example would be `wmic`) it seems to handle UTF-16 just fine. So it looks like there's some conversion happening when shelling out. But that looks like a separate problem.

-- 
https://gitlab.winehq.org/wine/wine/-/merge_requests/352#note_3447



More information about the wine-devel mailing list