in Ui.c
line
wsprintf(
GetNSISString(g_tmp, prefix) + mystrlen(g_tmp),
has undefined behaviour under C specifications.
mystrlen could be called before GetNSISString, and this happens when NSIS is compiled under Visual Studio 2005 with full optimizations.
so I suggest the following change :
GetNSISString(g_tmp, prefix);
wsprintf(
g_tmp + mystrlen(g_tmp),
Wizou
Logged In: YES
user_id=584402
Originator: NO
That change adds quite a few bytes. I'll have to think of another fix for it, or if nothing else, I can #ifdef it.
Logged In: NO
try this:
char *tmp = GetNSISString(g_tmp, prefix);
wsprintf(
tmp + mystrlen(tmp),
Logged In: YES
user_id=584402
Originator: NO
The first of many things I've already tried.
Ended up with a #if _MSC_VER for lack of a better solution.