[devel] Полтергейст в gcc/i586
Ivan A. Melnikov
iv на altlinux.org
Вт Июл 5 09:48:37 MSK 2016
2016-07-04 17:09 GMT+03:00 Sergey Afonin <asy на altlinux.ru>:
> Да, работает правильно, если сделать size_t bufsz вместо off_t. Но, вроде
> как, есть off64_t же ? Хотя фиг с ним, дальше пусть апстрим разбирается.
> Спасибо.
off_t и off64_t -- синонимы если определён макрос __USE_FILE_OFFSET64.
У нас это так, и это очень правильно в современном мире. Проблемный
код мог быть написан в системе, где этот макрос не определён, и тогда
off_t был 32-битен и код работал правильно.
Btw, правильно распечатать off_t printf-подобными функциями это то ещё
веселье. В C99 рекомендуют что-то вроде
printf("%jd\n", (intmax_t)bufsz);
Для застрявших на C89 жизнь ещё печальнее.
--
WBR,
Ivan A. Melnikov
Подробная информация о списке рассылки Devel