Make WinWStrDupFromWC endian agnostic (Patch #273)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6783 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
25dac3a5e9
commit
a190b4fc84
2 changed files with 4 additions and 4 deletions
|
@ -35,15 +35,15 @@ public:
|
|||
WINWCHAR test[] = { _x('t'), _x('e'), _x('s'), _x('t'), 0 };
|
||||
|
||||
WINWCHAR *dyn = WinWStrDupFromTChar(_T("test"));
|
||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, 5) );
|
||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, sizeof(test)) );
|
||||
free(dyn);
|
||||
|
||||
dyn = WinWStrDupFromChar("test");
|
||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, 5) );
|
||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, sizeof(test)) );
|
||||
free(dyn);
|
||||
|
||||
dyn = WinWStrDupFromWC(L"test");
|
||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, 5) );
|
||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, sizeof(test)) );
|
||||
free(dyn);
|
||||
}
|
||||
|
||||
|
|
|
@ -111,7 +111,7 @@ WINWCHAR* WinWStrDupFromWC(const wchar_t *s)
|
|||
// NOTE: Anything outside the ASCII range will not convert correctly!
|
||||
size_t cch = wcslen(s);
|
||||
WINWCHAR* p = (WINWCHAR*) malloc(++cch * 2);
|
||||
if (p) for (size_t i = 0; i < cch; ++i) p[i] = (unsigned char) s[i];
|
||||
if (p) for (size_t i = 0; i < cch; ++i) p[i] = FIX_ENDIAN_INT16(s[i]);
|
||||
return p;
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue