{"ANDPOWERS", fun_andflags, 2, 2, FN_REG},
{"ANSI", fun_ansi, 2, -2, FN_NOPARSE},
{"APOSS", fun_aposs, 1, 1, FN_REG},
+ {"APPLY", fun_apply, 1, 3, FN_REG},
{"ARABIC2ROMAN", fun_arabictoroman, 1, 1, FN_REG},
{"ART", fun_art, 1, 1, FN_REG},
{"ATRLOCK", fun_atrlock, 1, 2, FN_REG},
if (study)
mush_free((Malloc_t) study, "pcre.extra");
}
+
+FUNCTION(fun_apply)
+{
+ char sep;
+ int count;
+ char *arr[10];
+ ufun_attrib ufun;
+ char rbuff[BUFFER_LEN];
+ OOREF_DECL;
+
+ if (!delim_check(buff, bp, nargs, args, 3, &sep))
+ return;
+
+ ENTER_OOREF;
+
+ count = list2arr(arr, 10, args[1], sep);
+
+ if (!fetch_ufun_attrib(args[0], executor, &ufun, 1)) {
+ safe_str(T(ufun.errmess), buff, bp);
+ LEAVE_OOREF;
+ return;
+ }
+
+ call_ufun(&ufun, arr, count, rbuff, executor, enactor, pe_info);
+
+ LEAVE_OOREF;
+
+ safe_str(rbuff, buff, bp);
+}
+
FUNCTION_PROTO(fun_andlflags);
FUNCTION_PROTO(fun_ansi);
FUNCTION_PROTO(fun_aposs);
+FUNCTION_PROTO(fun_apply);
FUNCTION_PROTO(fun_arabictoroman);
FUNCTION_PROTO(fun_art);
FUNCTION_PROTO(fun_asin);