added support for UTF-8

now the UTF-8 is a default charset


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@677 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-11-21 00:19:17 +00:00
parent f1f0fa34cb
commit 8e72a820dd
153 changed files with 4270 additions and 2784 deletions

View File

@@ -24,12 +24,13 @@ void Rebus::SetRequest(Request * prequest)
bool Rebus::InitPair(int a, int b, Item & item)
{
char buffer[100];
wchar_t buffer[100];
size_t buffer_len = sizeof(buffer) / sizeof(wchar_t);
bool add = false;
if( a+b <= 15 )
{
sprintf(buffer, "%d+%d", a, b);
swprintf(buffer, buffer_len, L"%d+%d", a, b);
item.question = buffer;
item.answer = a+b;
add = true;
@@ -37,7 +38,7 @@ bool add = false;
if( a-b >= 0 )
{
sprintf(buffer, "%d-%d", a, b);
swprintf(buffer, buffer_len, L"%d-%d", a, b);
item.question = buffer;
item.answer = a-b;
add = true;
@@ -91,23 +92,23 @@ return &table[0] + i;
bool Rebus::IsAnswerOk(Rebus::Item * item, const std::string & answer)
bool Rebus::IsAnswerOk(Rebus::Item * item, const std::wstring & answer)
{
if( item == 0 )
return false;
char * end;
const char * a = answer.c_str();
wchar_t * end;
const wchar_t * a = answer.c_str();
a = SkipWhite(a);
int value = (int)strtol(a, &end, 10);
int value = (int)wcstol(a, &end, 10);
if( a == end )
// nothing has been read
return false;
log << log2 << "Rebus: your answer is: " << value << logend;
end = (char*)SkipWhite(end);
end = (wchar_t*)SkipWhite(end);
if( *end != 0 )
{
@@ -145,7 +146,7 @@ bool Rebus::CheckRebus()
return false;
}
if( IsAnswerOk(request->session->rebus_item, request->PostVar("rebus")) )
if( IsAnswerOk(request->session->rebus_item, request->PostVar(L"rebus")) )
return true;
log << log1 << "Rebus: rebus has an incorrect answer" << logend;