Look this:
void zSplit()
{
send_wait(0, spell_object(),
"zSplitString",
(string)NULL,
(string)NULL,
(object)NULL,
'NAME;ADDRESS;PHONE',
';',
'[aA0-zZ9]+'
);
int zi_i;
for (zi_i=0;zi_i<msg_length();zi_i++) {
printf("#%d: '%s'\n", zi_i, (string) msg[zi_i]);
}
}
void zSplitString(...)
{
string zs_str, zs_value, zs_delim, zs_regex;
zs_str = argv[0];
zs_delim = argv[1];
zs_regex = argv[2];
int zi_idx;
zi_idx = 0;
int zi_idx_start, zi_idx_end;
zi_idx_start = sindex(zs_str, zs_regex, 0);
zi_idx_end = sindex(zs_str, zs_delim, zi_idx_start+1);
if (zi_idx_end == -1) zi_idx_end = strlen(zs_str);
do {
zs_value = substr(zs_str, zi_idx_start, zi_idx_end-zi_idx_start);
set_return_data(zi_idx++, zs_value);
zi_idx_start = sindex(zs_str, zs_regex, zi_idx_end+1);
zi_idx_end = sindex(zs_str, zs_delim, zi_idx_start+1);
if (zi_idx_end == -1) zi_idx_end = strlen(zs_str);
} while (zi_idx_start > -1);
}
Returns:
#0: 'NAME'
#1: 'ADDRESS'
#2: 'PHONE'
------------------------------
CA Service Desk Manager Especialist Developer
PROCERGS
------------------------------
Original Message:
Sent: 09-01-2015 09:17 AM
From: Timur Alimov
Subject: Re: Spel to get array from function
How did you know that set_return_data have multiple arguments?