[PATCH] dmusic: Use wide-char string literals

Michael Stefaniuc mstefani at winehq.org
Sat Dec 14 11:04:23 CST 2019


On 12/14/19 2:50 PM, Ruslan Kabatsayev wrote:
> Is Code Hygiene [1] page in the WineHQ Wiki outdated? Has Wine begun
> using wide literals? If yes, what made this switch possible?
Not totally outdated yet.

Modules that are compiled now with mingw no longer depend on system
libraries and thus can use wide-char string literals. Those modules have
'EXTRADLLFLAGS = -mno-cygwin' in their Makefile.


bye
	michael



> (I'm sorry if I've missed a previous announcement on this topic;
> googling doesn't reveal anything relevant.)
> 
> [1]: https://wiki.winehq.org/Code_Hygiene#Constants_as_Character_Arrays
> 
> On Fri, 13 Dec 2019 at 21:00, Michael Stefaniuc <mstefani at winehq.org> wrote:
>>
>> Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
>> ---
>>  dlls/dmusic/dmusic.c       | 8 +++-----
>>  dlls/dmusic/tests/dmusic.c | 5 ++---
>>  2 files changed, 5 insertions(+), 8 deletions(-)
>>
>> diff --git a/dlls/dmusic/dmusic.c b/dlls/dmusic/dmusic.c
>> index cc798ce4d9..1916fb7bd9 100644
>> --- a/dlls/dmusic/dmusic.c
>> +++ b/dlls/dmusic/dmusic.c
>> @@ -343,20 +343,18 @@ static HRESULT WINAPI IDirectMusic8Impl_EnumMasterClock(LPDIRECTMUSIC8 iface, DW
>>      if (!index)
>>      {
>>          static const GUID guid_system_clock = { 0x58d58419, 0x71b4, 0x11d1, { 0xa7, 0x4c, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12 } };
>> -        static const WCHAR name_system_clock[] = { 'S','y','s','t','e','m',' ','C','l','o','c','k',0 };
>>
>>          clock_info->ctType = 0;
>>          clock_info->guidClock = guid_system_clock;
>> -        lstrcpyW(clock_info->wszDescription, name_system_clock);
>> +        lstrcpyW(clock_info->wszDescription, L"System Clock");
>>      }
>>      else
>>      {
>>          static const GUID guid_dsound_clock = { 0x58d58420, 0x71b4, 0x11d1, { 0xa7, 0x4c, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12 } };
>> -        static const WCHAR name_dsound_clock[] = { 'D','i','r','e','c','t','S','o','u','n','d',' ','C','l','o','c','k',0 };
>>
>>          clock_info->ctType = 0;
>>          clock_info->guidClock = guid_dsound_clock;
>> -        lstrcpyW(clock_info->wszDescription, name_dsound_clock);
>> +        lstrcpyW(clock_info->wszDescription, L"DirectSound Clock");
>>      }
>>
>>      return S_OK;
>> @@ -496,7 +494,7 @@ static const IDirectMusic8Vtbl DirectMusic8_Vtbl = {
>>
>>  static void create_system_ports_list(IDirectMusic8Impl* object)
>>  {
>> -    static const WCHAR emulated[] = {' ','[','E','m','u','l','a','t','e','d',']',0};
>> +    static const WCHAR emulated[] = L" [Emulated]";
>>      port_info * port;
>>      ULONG nb_ports;
>>      ULONG nb_midi_out;
>> diff --git a/dlls/dmusic/tests/dmusic.c b/dlls/dmusic/tests/dmusic.c
>> index f6c417af30..776f9d0ec9 100644
>> --- a/dlls/dmusic/tests/dmusic.c
>> +++ b/dlls/dmusic/tests/dmusic.c
>> @@ -639,7 +639,6 @@ static void test_parsedescriptor(void)
>>      IStream *stream;
>>      DMUS_OBJECTDESC desc = {0};
>>      HRESULT hr;
>> -    const WCHAR s_inam[] = {'I','N','A','M','\0'};
>>      const FOURCC alldesc[] =
>>      {
>>          FOURCC_RIFF, FOURCC_DLS, DMUS_FOURCC_CATEGORY_CHUNK, FOURCC_LIST,
>> @@ -735,7 +734,7 @@ static void test_parsedescriptor(void)
>>      ok(hr == S_OK, "ParseDescriptor failed: %08x, expected S_OK\n", hr);
>>      ok(desc.dwValidData == (DMUS_OBJ_CLASS | DMUS_OBJ_NAME),
>>              "Got valid data %#x, expected DMUS_OBJ_CLASS | DMUS_OBJ_NAME\n", desc.dwValidData);
>> -    ok(!memcmp(desc.wszName, s_inam, sizeof(s_inam)), "Got name '%s', expected 'INAM'\n",
>> +    ok(!lstrcmpW(desc.wszName, L"INAM"), "Got name '%s', expected 'INAM'\n",
>>              wine_dbgstr_w(desc.wszName));
>>      IStream_Release(stream);
>>
>> @@ -747,7 +746,7 @@ static void test_parsedescriptor(void)
>>      ok(desc.dwValidData == (DMUS_OBJ_CLASS | DMUS_OBJ_NAME | DMUS_OBJ_VERSION),
>>              "Got valid data %#x, expected DMUS_OBJ_CLASS | DMUS_OBJ_NAME | DMUS_OBJ_VERSION\n",
>>              desc.dwValidData);
>> -    ok(!memcmp(desc.wszName, s_inam, sizeof(s_inam)), "Got name '%s', expected 'INAM'\n",
>> +    ok(!lstrcmpW(desc.wszName, L"INAM"), "Got name '%s', expected 'INAM'\n",
>>              wine_dbgstr_w(desc.wszName));
>>      IStream_Release(stream);
>>
>> --
>> 2.23.0
>>
>>
> 




More information about the wine-devel mailing list