Combined Library
The Combined Library is comprised of about 40 functions all of which are released under CC-by v3.0 license.
The library is still be worked on so only some of the compiled functions will be posted at this time
str_replace
string str_replace(string src, string from, string to)
{//replaces all occurances of 'from' with 'to' in 'src'.
integer len = (~-(llStringLength(from)));
if(~len)
{
string buffer = src;
integer b_pos = -1;
integer to_len = (~-(llStringLength(to)));
@loop;//instead of a while loop, saves 5 bytes (and run faster).
integer to_pos = ~llSubStringIndex(buffer, from);
if(to_pos)
{
// b_pos -= to_pos;
// src = llInsertString(llDeleteSubString(src, b_pos, b_pos + len), b_pos, to);
// b_pos += to_len;
// buffer = llGetSubString(src, (-~(b_pos)), 0x8000);
buffer = llGetSubString(src = llInsertString(llDeleteSubString(src, b_pos -= to_pos, b_pos + len), b_pos, to), (-~(b_pos += to_len)), 0x8000);
jump loop;
}
}
return src;
}
list_replace
list list_replace(list src, list from, list to)
{//replaces all occurances of 'from' with 'to' in 'src'.
integer len = ~([] != from);
if(~len)
{
list buffer = src;
integer b_pos = -1;
integer to_len = ~([] != to);
@loop;//instead of a while loop, saves 5 bytes (and run faster).
integer to_pos = ~llListFindList(buffer, from);
if(to_pos)
{
// b_pos-=to_pos;
// src = llListReplaceList(src, to, b_pos, b_pos+len);
// b_pos += to_len;
// buffer = llList2List(src, (-~(b_pos)), 0x4000);
buffer = llList2List(src = llListReplaceList(src, to, b_pos-=to_pos, b_pos+len), (-~(b_pos += to_len)), 0x4000);
jump loop;
}
}
return src;
}