output.reserve(input.length());
 
     for (c = in_str, last = in_str; *c != wxT('\0'); c++)
     output.reserve(input.length());
 
     for (c = in_str, last = in_str; *c != wxT('\0'); c++)
             if (c - last > 0)
                 output.append(last, c - last);
             if (++c == wxT('\0')) break;
             if (c - last > 0)
                 output.append(last, c - last);
             if (++c == wxT('\0')) break;
             for (; (*c >= wxT('a') && *c <= wxT('z')) ||
                    (*c >= wxT('A') && *c <= wxT('Z')) ||
                    (*c >= wxT('0') && *c <= wxT('9')) ||
             for (; (*c >= wxT('a') && *c <= wxT('z')) ||
                    (*c >= wxT('A') && *c <= wxT('Z')) ||
                    (*c >= wxT('0') && *c <= wxT('9')) ||