equal
deleted
inserted
replaced
271 if(wlen == 0) { |
271 if(wlen == 0) { |
272 // MultiByteToWideChar should not fail |
272 // MultiByteToWideChar should not fail |
273 // But in rare case it fails, we allow 'char' to be displayed |
273 // But in rare case it fails, we allow 'char' to be displayed |
274 curr->displayName = (char *)malloc(ifrowP->dwDescrLen + 1); |
274 curr->displayName = (char *)malloc(ifrowP->dwDescrLen + 1); |
275 } else { |
275 } else { |
276 curr->displayName = (wchar_t *)malloc(wlen*(sizeof(wchar_t))+1); |
276 curr->displayName = (wchar_t *)malloc((wlen+1)*sizeof(wchar_t)); |
277 } |
277 } |
278 |
278 |
279 curr->name = (char *)malloc(strlen(dev_name) + 1); |
279 curr->name = (char *)malloc(strlen(dev_name) + 1); |
280 |
280 |
281 if (curr->name == NULL || curr->displayName == NULL) { |
281 if (curr->name == NULL || curr->displayName == NULL) { |
314 free(curr->name); |
314 free(curr->name); |
315 free(curr->displayName); |
315 free(curr->displayName); |
316 free(curr); |
316 free(curr); |
317 return -1; |
317 return -1; |
318 } else { |
318 } else { |
319 curr->displayName[wlen*(sizeof(wchar_t))] = '\0'; |
319 ((wchar_t *)curr->displayName)[wlen] = L'\0'; |
320 curr->dNameIsUnicode = TRUE; |
320 curr->dNameIsUnicode = TRUE; |
321 } |
321 } |
322 } |
322 } |
323 |
323 |
324 curr->dwIndex = ifrowP->dwIndex; |
324 curr->dwIndex = ifrowP->dwIndex; |