Erwin Coumans - 2013-04-29

Here is a fix, in fart.cpp around line 615 (attached is a full fart.cpp that is fixed)

// Check for word boundary
        if (t && _WholeWord)
        {
            // FIXED: just write original text to output and search for another occurence
            if (t>bp && (_iswordchar(t[-1])  || _iswordchar(t[FindLength])))
            {
                // Write the text before the find_string
                fwrite( fart_buf+(bp-b), 1, t-bp, f2 );
                // Write the replace_string instead of the find_string
                fwrite( FindString, 1, FindLength, f2 );

                // Put the buffer-pointer right after the find_string
                bp = t + FindLength;
                continue;
            }
        }