Записки программиста
Jul. 9th, 2010 06:17 pmИдиотский bug - только что потратил почти день, чтобы найти:
char const * s = r.c_str(); // beginning of the just built pattern
char const * p = strrchr(s, '/');// Find last slash
r = p ? r.substr(0, (int)(p - s)) : "";
if(s[0] == '*' && s[1] == '/')
r = r.substr(1);
Стыдно - правда, это произошло не за один раз - результат поздней поправки.
Продукт, который используем эту мою (весьма немаленькую) программу давно в производстве - они
установили более новую версию линукса и все сломалось! В памяти что-то стало распределятся по другому.
А что неправильно в этих строчках, кто знает? (ответы не скриню, поскольку задачка для первого (С++) класса)
char const * s = r.c_str(); // beginning of the just built pattern
char const * p = strrchr(s, '/');// Find last slash
r = p ? r.substr(0, (int)(p - s)) : "";
if(s[0] == '*' && s[1] == '/')
r = r.substr(1);
Стыдно - правда, это произошло не за один раз - результат поздней поправки.
Продукт, который используем эту мою (весьма немаленькую) программу давно в производстве - они
установили более новую версию линукса и все сломалось! В памяти что-то стало распределятся по другому.
А что неправильно в этих строчках, кто знает? (ответы не скриню, поскольку задачка для первого (С++) класса)