History

Update script print() to be variadic

Ryan Huffman committed 11 years ago

Commit 5f33ac51 parent fecb0e31 file · +15 −7Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 1 file). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+15−7
@@ -46,13 +46,21 @@ · 45 unmodified lines
4646
4747
4848 static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine){
49− qCDebug(scriptengine) << "script:print()<<" << context->argument(0).toString();
50− QString message = context->argument(0).toString()
51− .replace("\\", "\\\\")
52− .replace("\n", "\\n")
53− .replace("\r", "\\r")
54− .replace("'", "\\'");
55− engine->evaluate("Script.print('" + message + "')");
49+ QString message = "";
50+ for (int i = 0; i < context->argumentCount(); i++) {
51+ if (i > 0) {
52+ message += " ";
53+ }
54+ message += context->argument(i).toString();
55+ }
56+ qCDebug(scriptengine) << "script:print()<<" << message;
57+
58+ QString scriptMessage = message.replace("\\", "\\\\")
59+ .replace("\n", "\\n")
60+ .replace("\r", "\\r")
61+ .replace("'", "\\'");
62+ engine->evaluate("Script.print('" + scriptMessage + "')");
63+
5664 return QScriptValue();
5765 }
5866