QTextStream cout(stdout);
if (a.arguments().count() < 2)
{
- cout << "Usage: " << a.arguments()[0] << " FILE" << endl;
- cout << " " << a.arguments()[0] << " -e SCRIPT" << endl;
+ cout << "Usage: " << a.arguments()[0] << " FILE [ARGS...]" << endl;
+ cout << " " << a.arguments()[0] << " -e SCRIPT [-- ARGS...]" << endl;
return 1;
}
if (args.first() == "-e")
{
args.removeFirst();
- script = args.join(QChar(' '));
+
+ QStringList scriptParts;
+
+ while (!args.isEmpty())
+ {
+ QString part = args.takeFirst();
+ if (part == "--")
+ break;
+ scriptParts << part;
+ }
+ script = scriptParts.join(QChar(' '));
}
else
{
}
script = file.readAll();
file.close();
+ args.removeFirst();
+
}
QScriptEngine engine;
engine.globalObject().setProperty("mylist", engine.newQObject(MyList::instance()));
engine.globalObject().setProperty("db", engine.newQObject(MyList::instance()->database()));
+ engine.globalObject().setProperty("arg", qScriptValueFromSequence(&engine, args));
QScriptValue result = engine.evaluate(script);
if (engine.hasUncaughtException()) {