add $$str_size() function
this is strlen(), but the name is matched to $$size(), just namespaced to reflect that it operates on a string value rather than a list variable. [ChangeLog][qmake] Added $$str_size() function. Change-Id: I56c8b863da244e66bd283257a66b197aa73b0e57 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
This commit is contained in:
parent
d3cc25ef52
commit
22f3800cac
@ -3042,10 +3042,13 @@
|
|||||||
|
|
||||||
See also \l{system_quote(arg)}{system_quote()}.
|
See also \l{system_quote(arg)}{system_quote()}.
|
||||||
|
|
||||||
|
\target fn_size
|
||||||
\section2 size(variablename)
|
\section2 size(variablename)
|
||||||
|
|
||||||
Returns the number of values of \c variablename.
|
Returns the number of values of \c variablename.
|
||||||
|
|
||||||
|
See also \l{str_size()}.
|
||||||
|
|
||||||
\section2 sort_depends(variablename, prefix)
|
\section2 sort_depends(variablename, prefix)
|
||||||
|
|
||||||
This is an internal function that you will typically not need.
|
This is an internal function that you will typically not need.
|
||||||
@ -3059,6 +3062,13 @@
|
|||||||
|
|
||||||
\snippet code/doc_src_qmake-manual.pro 168
|
\snippet code/doc_src_qmake-manual.pro 168
|
||||||
|
|
||||||
|
\target str_size()
|
||||||
|
\section2 str_size(arg)
|
||||||
|
|
||||||
|
Returns the number of characters in the argument.
|
||||||
|
|
||||||
|
See also \l{fn_size}{size()}.
|
||||||
|
|
||||||
\section2 system(command[, mode])
|
\section2 system(command[, mode])
|
||||||
|
|
||||||
You can use this variant of the \c system function to obtain stdout from the
|
You can use this variant of the \c system function to obtain stdout from the
|
||||||
|
@ -80,8 +80,8 @@ QT_BEGIN_NAMESPACE
|
|||||||
#define fL1S(s) QString::fromLatin1(s)
|
#define fL1S(s) QString::fromLatin1(s)
|
||||||
|
|
||||||
enum ExpandFunc {
|
enum ExpandFunc {
|
||||||
E_INVALID = 0, E_MEMBER, E_FIRST, E_TAKE_FIRST, E_LAST, E_TAKE_LAST, E_SIZE,
|
E_INVALID = 0, E_MEMBER, E_FIRST, E_TAKE_FIRST, E_LAST, E_TAKE_LAST,
|
||||||
E_CAT, E_FROMFILE, E_EVAL, E_LIST, E_SPRINTF, E_FORMAT_NUMBER,
|
E_SIZE, E_STR_SIZE, E_CAT, E_FROMFILE, E_EVAL, E_LIST, E_SPRINTF, E_FORMAT_NUMBER,
|
||||||
E_NUM_ADD, E_JOIN, E_SPLIT, E_BASENAME, E_DIRNAME, E_SECTION,
|
E_NUM_ADD, E_JOIN, E_SPLIT, E_BASENAME, E_DIRNAME, E_SECTION,
|
||||||
E_FIND, E_SYSTEM, E_UNIQUE, E_REVERSE, E_QUOTE, E_ESCAPE_EXPAND,
|
E_FIND, E_SYSTEM, E_UNIQUE, E_REVERSE, E_QUOTE, E_ESCAPE_EXPAND,
|
||||||
E_UPPER, E_LOWER, E_TITLE, E_FILES, E_PROMPT, E_RE_ESCAPE, E_VAL_ESCAPE,
|
E_UPPER, E_LOWER, E_TITLE, E_FILES, E_PROMPT, E_RE_ESCAPE, E_VAL_ESCAPE,
|
||||||
@ -110,6 +110,7 @@ void QMakeEvaluator::initFunctionStatics()
|
|||||||
{ "last", E_LAST },
|
{ "last", E_LAST },
|
||||||
{ "take_last", E_TAKE_LAST },
|
{ "take_last", E_TAKE_LAST },
|
||||||
{ "size", E_SIZE },
|
{ "size", E_SIZE },
|
||||||
|
{ "str_size", E_STR_SIZE },
|
||||||
{ "cat", E_CAT },
|
{ "cat", E_CAT },
|
||||||
{ "fromfile", E_FROMFILE },
|
{ "fromfile", E_FROMFILE },
|
||||||
{ "eval", E_EVAL },
|
{ "eval", E_EVAL },
|
||||||
@ -737,6 +738,12 @@ ProStringList QMakeEvaluator::evaluateBuiltinExpand(
|
|||||||
else
|
else
|
||||||
ret.append(ProString(QString::number(values(map(args.at(0))).size())));
|
ret.append(ProString(QString::number(values(map(args.at(0))).size())));
|
||||||
break;
|
break;
|
||||||
|
case E_STR_SIZE:
|
||||||
|
if (args.count() != 1)
|
||||||
|
evalError(fL1S("str_size(str) requires one argument."));
|
||||||
|
else
|
||||||
|
ret.append(ProString(QString::number(args.at(0).size())));
|
||||||
|
break;
|
||||||
case E_CAT:
|
case E_CAT:
|
||||||
if (args.count() < 1 || args.count() > 2) {
|
if (args.count() < 1 || args.count() > 2) {
|
||||||
evalError(fL1S("cat(file, singleline=true) requires one or two arguments."));
|
evalError(fL1S("cat(file, singleline=true) requires one or two arguments."));
|
||||||
|
@ -826,6 +826,18 @@ void tst_qmakelib::addReplaceFunctions(const QString &qindir)
|
|||||||
<< "##:1: size(var) requires one argument."
|
<< "##:1: size(var) requires one argument."
|
||||||
<< true;
|
<< true;
|
||||||
|
|
||||||
|
QTest::newRow("$$str_size()")
|
||||||
|
<< "VAR = $$str_size(one two three)"
|
||||||
|
<< "VAR = 13"
|
||||||
|
<< ""
|
||||||
|
<< true;
|
||||||
|
|
||||||
|
QTest::newRow("$$str_size(): bad number of arguments")
|
||||||
|
<< "VAR = $$str_size(1, 2)"
|
||||||
|
<< "VAR ="
|
||||||
|
<< "##:1: str_size(str) requires one argument."
|
||||||
|
<< true;
|
||||||
|
|
||||||
QTest::newRow("$$fromfile(): right var")
|
QTest::newRow("$$fromfile(): right var")
|
||||||
<< "VAR = $$fromfile(" + qindir + "/fromfile/infile.prx, DEFINES)"
|
<< "VAR = $$fromfile(" + qindir + "/fromfile/infile.prx, DEFINES)"
|
||||||
<< "VAR = QT_DLL"
|
<< "VAR = QT_DLL"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user