URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6257
[ Назад ]

Исходное сообщение
"С(т)ранный код"

Отправлено pilot.net , 14-Мрт-07 09:30 
Не могу понять что делает код
Может кто догадается ?

bool logTrName_s::isData(string _data) {

        string dd = _data + " ";
        if(strncmp(dd.c_str(), data.c_str(), dd.length()) == 0) return TRUE;

        dd = _data + string("\t");
        if(strncmp(dd.c_str(), data.c_str(), dd.length()) == 0) return TRUE;

        dd = string(" ") + _data;
        int ind = data.length()-dd.length();
        if(ind >= 0) {

                if(strncmp(dd.c_str(), &data.c_str()[ind], dd.length()) == 0) return TRUE;
        }

        dd = string("\t") + _data;
        if(ind >= 0 && strncmp(dd.c_str(), &data.c_str()[ind], dd.length()) == 0)
                 return TRUE;

        dd = string(" ") + _data + string(" ");


        const char *c = strstr(data.c_str(), dd.c_str());

        if(c) return TRUE;

        dd = string("\t") + _data + string("\t");
        c = strstr(data.c_str(), dd.c_str());
        if(c) return TRUE;

        dd = string(" ") + _data + string("\t");
        c = strstr(data.c_str(), dd.c_str());
        if(c) return TRUE;

        dd = string("\t") + _data + string(" ");
        c = strstr(data.c_str(), dd.c_str());
        if(c) return TRUE;

        return FALSE;
};


Содержание

Сообщения в этом обсуждении
"С(т)ранный код"
Отправлено NuINu , 14-Мрт-07 10:07 
>Не могу понять что делает код
>Может кто догадается ?
>
всего лишь проверяет эквивалентность строки _data с внутренней строкой объекта data.
Эквивалентность определяется содержимым которым не являются пробелы и табуляции в начале и конце. Поскольку этому лузеру лень было сразу выкинуть из data эти символы при его заполнении, а регулярных выражений он не знает, вот и пытается перебрать все возомжные варианты.

"С(т)ранный код"
Отправлено pilot.net , 14-Мрт-07 11:10 
>>Не могу понять что делает код
>>Может кто догадается ?
>>
>всего лишь проверяет эквивалентность строки _data с внутренней строкой объекта data.
>Эквивалентность определяется содержимым которым не являются пробелы и табуляции в начале и
>конце. Поскольку этому лузеру лень было сразу выкинуть из data эти
>символы при его заполнении, а регулярных выражений он не знает, вот
>и пытается перебрать все возомжные варианты.

да , я сразу не заметил _data и data