EugeneRoshal
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ItsJustMe Цитата: filestr.cpp (25): if (FileName!=NULL && *FileName!=0) //why do we test a static array for NULL? | Да, проверка на NULL тут лишняя. Видимо, менял в свое время с параметра функции на массив, а проверку не убрал. Цитата: os.hpp (59): #if _MSC_VER<1500 #define for if (0) ; else for #endif //What the hell is that? | В старых версиях MSVC это требовалось, чтобы область действия переменной, заданной в заголовке цикла 'for' не распространялась за пределы цикла, как и положено в соответствии со стандартом C++. Цитата: strfn.cpp (286): void itoa(int64 n,char *Str) //can't we just use _i64toa_s/_i64tow_s? | Они ведь непереносимы за пределы Windows и MSVC. Конечно, можно было задать их через #ifdef, но функция совершенно некритична по времени выполнения, поэтому мне проще использовать общий код для всех платформ. Цитата: unpack30.cpp (806): memcpy(UnpOldTable,Table,sizeof(UnpOldTable)); //Well, UnpOldTable is larger than Table. Should it be memcpy(UnpOldTable,Table,sizeof(Table));? | Да, надо привести размер UnpOldTable к размеру Table. Цитата: volume.cpp (244): CharToWide(NextNameA,NextName,ASIZE(NextName)); //Should it be CharToWide(NextNameA,NextName,NameSize);? | Вы правы, спасибо за замечания. Цитата: PS: Why don't you use CreateSymbolicLink for symlinks? | Там ведь все равно есть создание reparse points, так что я посчитал правильным использовать единообразный код с DeviceIoControl. |