From e60d2ab5486762ce97e5673e0780711a38a75fca Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Tue, 16 Sep 2008 17:02:48 +0000 Subject: 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 --- pjmedia/src/pjmedia/dsound.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'pjmedia/src') 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; -- cgit v1.2.3