[Turn on line numbering]arg buf, a, b; var i, la, lb, lt; // do we need a builtin for this? // from Kipp's core (until I write a builtin--optimized by Brandon) if (a == b || buflen(a) > buflen(buf) || !a || !buf) return buf; la = buflen(a); lb = buflen(b); lt = buflen(buf); i = 1; anticipate_assignment(); while (i <= buflen(buf) && (i = bufidx(buf, a, i))) { buf = subbuf(buf, 1, i - 1) + b + subbuf(buf, i + la); i += lb; } return buf;
// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit