@@ -35,40 +35,35 @@ static void enumerate_com_ports(cJSON *data) {
3535 SP_DEVINFO_DATA devInfoData ;
3636 DWORD i ;
3737
38- hDevInfo = SetupDiGetClassDevsW (& GUID_DEVCLASS_PORTS , 0 , 0 , DIGCF_PRESENT );
38+ hDevInfo = SetupDiGetClassDevsA (& GUID_DEVCLASS_PORTS , 0 , 0 , DIGCF_PRESENT );
3939 if (hDevInfo == INVALID_HANDLE_VALUE )
4040 return ;
4141
4242 devInfoData .cbSize = sizeof (SP_DEVINFO_DATA );
4343 for (i = 0 ; SetupDiEnumDeviceInfo (hDevInfo , i , & devInfoData ); i ++ ) {
44- wchar_t portName [256 ] = {0 };
45- wchar_t friendlyName [256 ] = {0 };
46- char portNameMB [256 ] = {0 };
47- char friendlyNameMB [256 ] = {0 };
44+ char portName [256 ] = {0 };
45+ char friendlyName [256 ] = {0 };
4846 DWORD size = sizeof (portName );
4947
5048 HKEY hKey = SetupDiOpenDevRegKey (hDevInfo , & devInfoData , DICS_FLAG_GLOBAL , 0 , DIREG_DEV , KEY_READ );
5149 if (hKey != INVALID_HANDLE_VALUE ) {
5250 DWORD type ;
53- if (RegQueryValueExW (hKey , L"PortName" , NULL , & type , (LPBYTE )portName , & size ) != ERROR_SUCCESS
51+ if (RegQueryValueExA (hKey , L"PortName" , NULL , & type , (LPBYTE )portName , & size ) != ERROR_SUCCESS
5452 || type != REG_SZ ) {
5553 portName [0 ] = L'\0' ;
5654 }
5755 }
5856
59- if (!SetupDiGetDeviceRegistryPropertyW (hDevInfo , & devInfoData , SPDRP_FRIENDLYNAME , NULL , (PBYTE )friendlyName ,
57+ if (!SetupDiGetDeviceRegistryPropertyA (hDevInfo , & devInfoData , SPDRP_FRIENDLYNAME , NULL , (PBYTE )friendlyName ,
6058 sizeof (friendlyName ), NULL )) {
6159 friendlyName [0 ] = L'\0' ;
6260 }
6361
64- WideCharToMultiByte (CP_UTF8 , 0 , portName , -1 , portNameMB , sizeof (portNameMB ), NULL , NULL );
65- WideCharToMultiByte (CP_UTF8 , 0 , friendlyName , -1 , friendlyNameMB , sizeof (friendlyNameMB ), NULL , NULL );
66-
67- if (starts_with (portNameMB , "COM" )) {
62+ if (starts_with (portName , "COM" )) {
6863 cJSON * item = cJSON_CreateObject ();
6964 if (item ) {
70- cJSON_AddStringToObject (item , "env" , portNameMB );
71- cJSON_AddStringToObject (item , "name" , friendlyNameMB [0 ] ? friendlyNameMB : portNameMB );
65+ cJSON_AddStringToObject (item , "env" , portName );
66+ cJSON_AddStringToObject (item , "name" , friendlyName [0 ] ? friendlyName : portName );
7267 cJSON_AddItemToArray (data , item );
7368 } else {
7469 cJSON_Delete (item );
@@ -171,13 +166,10 @@ static int apdu_interface_connect(struct euicc_ctx *ctx) {
171166
172167 logic_channel = 0 ;
173168
174- char dev_ascii [64 ];
169+ char devname [64 ];
175170 snprintf (dev_ascii , sizeof (dev_ascii ), "\\\\.\\%s" , device );
176171
177- wchar_t devname [64 ];
178- mbstowcs (devname , dev_ascii , sizeof (devname ) / sizeof (wchar_t ));
179-
180- hComm = CreateFileW (devname , GENERIC_READ | GENERIC_WRITE , 0 , NULL , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL , NULL );
172+ hComm = CreateFile (devname , GENERIC_READ | GENERIC_WRITE , 0 , NULL , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL , NULL );
181173
182174 if (hComm == INVALID_HANDLE_VALUE ) {
183175 fprintf (stderr , "Failed to open device: %s, error: %lu\n" , dev_ascii , GetLastError ());
0 commit comments