summaryrefslogtreecommitdiff
path: root/Source/Core/Common
diff options
context:
space:
mode:
authorGlenn Rice <glennricster@gmail.com>2011-01-14 00:15:08 +0000
committerGlenn Rice <glennricster@gmail.com>2011-01-14 00:15:08 +0000
commita747cb548c176dc4f612dcd497e05024886815b9 (patch)
treefdc673988615e25fd7fa04c1dd4421aeeb8f5357 /Source/Core/Common
parent984b0d14d2f5008440dfdbe4fe3a52c6d5ecf353 (diff)
Clean up translator callback.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6842 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/Common')
-rw-r--r--Source/Core/Common/Src/MsgHandler.cpp14
-rw-r--r--Source/Core/Common/Src/MsgHandler.h5
2 files changed, 10 insertions, 9 deletions
diff --git a/Source/Core/Common/Src/MsgHandler.cpp b/Source/Core/Common/Src/MsgHandler.cpp
index 231d9c34b4..63406c6312 100644
--- a/Source/Core/Common/Src/MsgHandler.cpp
+++ b/Source/Core/Common/Src/MsgHandler.cpp
@@ -25,7 +25,7 @@ bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no, int S
static MsgAlertHandler msg_handler = DefaultMsgHandler;
static bool AlertEnabled = true;
-const char* DefaultStringTranslator(const char* text);
+std::string DefaultStringTranslator(const char* text);
static StringTranslator str_translator = DefaultStringTranslator;
/* Select which of these functions that are used for message boxes. If
@@ -62,9 +62,9 @@ bool MsgAlert(bool yes_no, int Style, const char* format, ...)
if (!info_caption.length())
{
- info_caption = std::string(str_translator(_trans("Information")));
- ques_caption = std::string(str_translator(_trans("Question")));
- warn_caption = std::string(str_translator(_trans("Warning")));
+ info_caption = str_translator(_trans("Information"));
+ ques_caption = str_translator(_trans("Question"));
+ warn_caption = str_translator(_trans("Warning"));
}
switch(Style)
@@ -80,11 +80,9 @@ bool MsgAlert(bool yes_no, int Style, const char* format, ...)
break;
}
- const char *tr_format = str_translator(format);
-
va_list args;
va_start(args, format);
- CharArrayFromFormatV(buffer, 2047, tr_format, args);
+ CharArrayFromFormatV(buffer, 2047, str_translator(format).c_str(), args);
va_end(args);
ERROR_LOG(MASTER_LOG, "%s: %s", caption.c_str(), buffer);
@@ -113,7 +111,7 @@ bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no, int S
}
// Default (non) translator
-const char* DefaultStringTranslator(const char* text)
+std::string DefaultStringTranslator(const char* text)
{
return text;
}
diff --git a/Source/Core/Common/Src/MsgHandler.h b/Source/Core/Common/Src/MsgHandler.h
index 4924277374..0598a8b791 100644
--- a/Source/Core/Common/Src/MsgHandler.h
+++ b/Source/Core/Common/Src/MsgHandler.h
@@ -17,6 +17,9 @@
#ifndef _MSGHANDLER_H_
#define _MSGHANDLER_H_
+
+#include <string>
+
// Message alerts
enum MSG_TYPE
{
@@ -27,7 +30,7 @@ enum MSG_TYPE
typedef bool (*MsgAlertHandler)(const char* caption, const char* text,
bool yes_no, int Style);
-typedef const char * (*StringTranslator)(const char* text);
+typedef std::string (*StringTranslator)(const char* text);
void RegisterMsgAlertHandler(MsgAlertHandler handler);
void RegisterStringTranslator(StringTranslator translator);