Hi, my bad, you both and the code is obviously correct.
Sorry for the bad patch. I wrongfully assumed that there was an assignment to the out-buffer at the second ch = mime2utf();
________________________________________ Fra: Hans Leidekker [hans@codeweavers.com] Sendt: 12. juli 2012 09:23 Til: wine-devel@winehq.org; Oleg Jakobsen Emne: Re: msi: fix incorrect decoding of msi stream-names
On Wed, 2012-07-11 at 15:03 +0000, Oleg Jakobsen wrote:
@@ -203,6 +203,7 @@ BOOL decode_streamname(LPCWSTR in, LPWSTR out) *out++ = mime2utf(ch&0x3f); count++; ch = mime2utf((ch>>6)&0x3f);
continue; } } *out++ = ch;
Why is it incorrect? It seems to me that the upper bits should be written as the next character but now you are discarding them.