Mercurial > hg > svcore
comparison system/System.cpp @ 1480:5ac102155409 plugin-path-config
Environment variable lookup fixes, & use this implementation throughout
author | Chris Cannam |
---|---|
date | Fri, 08 Jun 2018 11:27:40 +0100 |
parents | b60cb1637634 |
children | 70e172e6cc59 |
comparison
equal
deleted
inserted
replaced
1479:ba27edcd6102 | 1480:5ac102155409 |
---|---|
355 | 355 |
356 if (!wvalue) { | 356 if (!wvalue) { |
357 return false; | 357 return false; |
358 } | 358 } |
359 | 359 |
360 int wvallen = int(wcslen(wvarbuf)); | 360 int wvallen = int(wcslen(wvalue)); |
361 int vallen = WideCharToMultiByte(CP_UTF8, 0, | 361 int vallen = WideCharToMultiByte(CP_UTF8, 0, |
362 wvarbuf, wvallen, | 362 wvalue, wvallen, |
363 0, 0, 0, 0); | 363 0, 0, 0, 0); |
364 if (vallen < 0) { | 364 if (vallen < 0) { |
365 SVCERR << "WARNING: Unable to convert environment value to UTF-8" | 365 SVCERR << "WARNING: Unable to convert environment value to UTF-8" |
366 << endl; | 366 << endl; |
367 return false; | 367 return false; |
368 } | 368 } |
369 | 369 |
370 char *val = new char[vallen + 1]; | 370 char *val = new char[vallen + 1]; |
371 (void)WideCharToMultiByte(CP_UTF8, 0, | 371 (void)WideCharToMultiByte(CP_UTF8, 0, |
372 wvarbuf, wvallen, | 372 wvalue, wvallen, |
373 val, vallen, 0, 0); | 373 val, vallen, 0, 0); |
374 val[vallen] = '\0'; | 374 val[vallen] = '\0'; |
375 | 375 |
376 value = val; | 376 value = val; |
377 | 377 |