Method code for $string.find_escaped()

[Turn on line numbering]
arg str, char;
var good, start, pos, p;

good = 0;
start = 0;
while (!good && start < str.length()) {
    pos = (char in str.subrange(start + 1)) + start;
    good = 1;
    if (pos > start) {
        p = pos - 1;
        while (p > 0 && str[p] == "\") {
            good = good ? 0 : 1;
            p = p - 1;
        }
    }
    if (good)
        return pos;
    else
        start = pos;
}

// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit

Tlon