From 91f0fd5b684ff3b9a2e7225b5f3645828b6678c2 Mon Sep 17 00:00:00 2001 From: Nick Anderson Date: Thu, 13 Aug 2026 13:35:06 -0500 Subject: [PATCH] Added the parameters of the remaining variadic functions to the syntax description and(), or(), concat(), ifelse(), findfiles(), mergedata() and the classmatch() family reported no parameters at all. Only the leading arguments are described, as bundlesmatching() and format() already do, and CF_ANYSTRING keeps the argument type check they activate as permissive as it was. Ticket: CFE-4714 Changelog: Commit (cherry picked from commit 98e3f9cef3a0553419c13c30590ee6b6127a5671) --- libpromises/evalfunction.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libpromises/evalfunction.c b/libpromises/evalfunction.c index ab58baa758f..78655d568eb 100644 --- a/libpromises/evalfunction.c +++ b/libpromises/evalfunction.c @@ -10451,6 +10451,7 @@ static const FnCallArg ACCUM_ARGS[] = static const FnCallArg AND_ARGS[] = { + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "Class expression"}, {NULL, CF_DATA_TYPE_NONE, NULL} }; @@ -10543,11 +10544,14 @@ static const FnCallArg CLASSIFY_ARGS[] = static const FnCallArg CLASSMATCH_ARGS[] = { + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "Regular expression"}, + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "Tag regular expression"}, {NULL, CF_DATA_TYPE_NONE, NULL} }; static const FnCallArg CONCAT_ARGS[] = { + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "String to concatenate"}, {NULL, CF_DATA_TYPE_NONE, NULL} }; @@ -10607,6 +10611,7 @@ static const FnCallArg FILESEXIST_ARGS[] = static const FnCallArg FINDFILES_ARGS[] = { + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "Glob pattern to match files"}, {NULL, CF_DATA_TYPE_NONE, NULL} }; @@ -10772,6 +10777,8 @@ static const FnCallArg HOSTSWITHGROUP_ARGS[] = static const FnCallArg IFELSE_ARGS[] = { + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "Class expression"}, + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "Value if the preceding class expression is true"}, {NULL, CF_DATA_TYPE_NONE, NULL} }; @@ -10922,6 +10929,8 @@ static const FnCallArg MAPDATA_ARGS[] = static const FnCallArg MERGEDATA_ARGS[] = { + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "CFEngine variable identifier or inline JSON"}, + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "CFEngine variable identifier or inline JSON"}, {NULL, CF_DATA_TYPE_NONE, NULL} }; @@ -10938,6 +10947,7 @@ static const FnCallArg NOW_ARGS[] = static const FnCallArg OR_ARGS[] = { + {CF_ANYSTRING, CF_DATA_TYPE_STRING, "Class expression"}, {NULL, CF_DATA_TYPE_NONE, NULL} };