Merge pull request #22 from Arkshine/fix-unicode-issuee
Fix an unicode issue with amx_SetStringOld.
This commit is contained in:
commit
83c2b3ef62
@ -100,7 +100,7 @@ cell CForward::execute(cell *params, ForwardPreparedArray *preparedArrays)
|
|||||||
if (!str)
|
if (!str)
|
||||||
str = "";
|
str = "";
|
||||||
amx_Allot(iter->pPlugin->getAMX(), (m_ParamTypes[i] == FP_STRING) ? strlen(str) + 1 : STRINGEX_MAXLENGTH, &realParams[i], &tmp);
|
amx_Allot(iter->pPlugin->getAMX(), (m_ParamTypes[i] == FP_STRING) ? strlen(str) + 1 : STRINGEX_MAXLENGTH, &realParams[i], &tmp);
|
||||||
amx_SetStringOld(tmp, str, 0, 0);
|
amx_SetStringOld(tmp, str, 0, 1);
|
||||||
physAddrs[i] = tmp;
|
physAddrs[i] = tmp;
|
||||||
}
|
}
|
||||||
else if (m_ParamTypes[i] == FP_ARRAY)
|
else if (m_ParamTypes[i] == FP_ARRAY)
|
||||||
@ -277,7 +277,7 @@ cell CSPForward::execute(cell *params, ForwardPreparedArray *preparedArrays)
|
|||||||
str = "";
|
str = "";
|
||||||
cell *tmp;
|
cell *tmp;
|
||||||
amx_Allot(m_Amx, (m_ParamTypes[i] == FP_STRING) ? strlen(str) + 1 : STRINGEX_MAXLENGTH, &realParams[i], &tmp);
|
amx_Allot(m_Amx, (m_ParamTypes[i] == FP_STRING) ? strlen(str) + 1 : STRINGEX_MAXLENGTH, &realParams[i], &tmp);
|
||||||
amx_SetStringOld(tmp, str, 0, 0);
|
amx_SetStringOld(tmp, str, 0, 1);
|
||||||
physAddrs[i] = tmp;
|
physAddrs[i] = tmp;
|
||||||
}
|
}
|
||||||
else if (m_ParamTypes[i] == FP_ARRAY)
|
else if (m_ParamTypes[i] == FP_ARRAY)
|
||||||
|
@ -4030,7 +4030,7 @@ static cell AMX_NATIVE_CALL callfunc_push_str(AMX *amx, cell *params)
|
|||||||
// copy it to the allocated memory
|
// copy it to the allocated memory
|
||||||
// we assume it's unpacked
|
// we assume it's unpacked
|
||||||
// :NOTE: 4th parameter use_wchar since Small Abstract Machine 2.5.0
|
// :NOTE: 4th parameter use_wchar since Small Abstract Machine 2.5.0
|
||||||
amx_SetStringOld(phys_addr, str, 0, 0);
|
amx_SetStringOld(phys_addr, str, 0, 1);
|
||||||
|
|
||||||
// push the address and set the reference flag so that memory is released after function call.
|
// push the address and set the reference flag so that memory is released after function call.
|
||||||
g_CallFunc_ParamInfo[g_CallFunc_CurParam].flags = CALLFUNC_FLAG_BYREF;
|
g_CallFunc_ParamInfo[g_CallFunc_CurParam].flags = CALLFUNC_FLAG_BYREF;
|
||||||
|
Loading…
Reference in New Issue
Block a user