diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2008-09-16 17:02:48 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2008-09-16 17:02:48 +0000 |
commit | e60d2ab5486762ce97e5673e0780711a38a75fca (patch) | |
tree | b567655d35b0d66a7374b437a1131a589c1b5c03 /pjmedia | |
parent | c89b39146e1323a40366c1da6f26e5eeb7960cde (diff) |
Ticket #625: Fixed unicode build issues on Windows platforms (thanks David Parker for the patch).
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2286 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/src/pjmedia/dsound.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pjmedia/src/pjmedia/dsound.c b/pjmedia/src/pjmedia/dsound.c index 97a28726..56dd97af 100644 --- a/pjmedia/src/pjmedia/dsound.c +++ b/pjmedia/src/pjmedia/dsound.c @@ -596,8 +596,8 @@ on_error: /* DirectSound enum device callback */ -static BOOL CALLBACK DSEnumCallback( LPGUID lpGuid, LPCSTR lpcstrDescription, - LPCSTR lpcstrModule, LPVOID lpContext) +static BOOL CALLBACK DSEnumCallback( LPGUID lpGuid, LPCTSTR lpcstrDescription, + LPCTSTR lpcstrModule, LPVOID lpContext) { unsigned index, max = sizeof(dev_info[index].info.name); pj_bool_t is_capture_device = (lpContext != NULL); @@ -626,7 +626,12 @@ static BOOL CALLBACK DSEnumCallback( LPGUID lpGuid, LPCSTR lpcstrDescription, return FALSE; } +#ifdef UNICODE + WideCharToMultiByte(CP_ACP, 0, lpcstrDescription, wcslen(lpcstrDescription), dev_info[index].info.name, max, NULL, NULL); +#else strncpy(dev_info[index].info.name, lpcstrDescription, max); +#endif + dev_info[index].info.name[max-1] = '\0'; if (lpGuid == NULL) { dev_info[index].lpGuid = NULL; |