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 test[] = { _x('t'), _x('e'), _x('s'), _x('t'), 0 };
|
||||||
|
|
||||||
WINWCHAR *dyn = WinWStrDupFromTChar(_T("test"));
|
WINWCHAR *dyn = WinWStrDupFromTChar(_T("test"));
|
||||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, 5) );
|
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, sizeof(test)) );
|
||||||
free(dyn);
|
free(dyn);
|
||||||
|
|
||||||
dyn = WinWStrDupFromChar("test");
|
dyn = WinWStrDupFromChar("test");
|
||||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, 5) );
|
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, sizeof(test)) );
|
||||||
free(dyn);
|
free(dyn);
|
||||||
|
|
||||||
dyn = WinWStrDupFromWC(L"test");
|
dyn = WinWStrDupFromWC(L"test");
|
||||||
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, 5) );
|
CPPUNIT_ASSERT_EQUAL( 0, memcmp(test, dyn, sizeof(test)) );
|
||||||
free(dyn);
|
free(dyn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@ WINWCHAR* WinWStrDupFromWC(const wchar_t *s)
|
||||||
// NOTE: Anything outside the ASCII range will not convert correctly!
|
// NOTE: Anything outside the ASCII range will not convert correctly!
|
||||||
size_t cch = wcslen(s);
|
size_t cch = wcslen(s);
|
||||||
WINWCHAR* p = (WINWCHAR*) malloc(++cch * 2);
|
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;
|
return p;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue