История изменений
Исправление hateyoufeel, (текущая версия) :
В пределах 4 байт. И потом выхожу по отсутствию «To:» в этом мусоре.
Да нифига. Компилятор может передвигать переменные по стеку. Я вообще не уверен, что там гарантирован порядок. Там что твоё buf[-1]=0 вполне может занулить байт в каком-нибудь указателе, по адресу в котом ты там потом пишешь, и тебя ждёт ОЛОЛО. Ты бы знал это, если бы стандарт почитал. Но читать ты не умеешь, как и писать код.
На самом деле я понятия не имею как правильно отработать такую ситуацию - файл успешно открылся на чтение, и сразу же случилась ошибка чтения. Что надо делать? Оставить файл на месте? Пропустить и переименовать как обработанный? Попробовать открыть ещё раз?
В смысле, что делать? Ошибку выдать. Как маленький, ей богу. Говорю же, гонору на товарный состав, а как код писать, так сразу «не знаю что делать» и «ай мама я накакал мимо буфера».
Так-то, за много лет эксплуатации оно ни разу не облажалось с чтением файла после удачного открытия на чтение. Не знаю, стоит ли вообще с этим заморачиваться.
А потом люди умирают, потому что где-то в сишном коде кто-то попасть в буфер не смог.
Исправление hateyoufeel, :
В пределах 4 байт. И потом выхожу по отсутствию «To:» в этом мусоре.
Да нифига. Компилятор может передвигать переменные по стеку. Я вообще не уверен, что там гарантирован порядок. Там что твоё buf[-1]=0 вполне может занулить байт в каком-нибудь указателе и тебя ждёт ОЛОЛО. Ты бы знал это, если бы стандарт почитал. Но читать ты не умеешь, как и писать код.
На самом деле я понятия не имею как правильно отработать такую ситуацию - файл успешно открылся на чтение, и сразу же случилась ошибка чтения. Что надо делать? Оставить файл на месте? Пропустить и переименовать как обработанный? Попробовать открыть ещё раз?
В смысле, что делать? Ошибку выдать. Как маленький, ей богу. Говорю же, гонору на товарный состав, а как код писать, так сразу «не знаю что делать» и «ай мама я накакал мимо буфера».
Так-то, за много лет эксплуатации оно ни разу не облажалось с чтением файла после удачного открытия на чтение. Не знаю, стоит ли вообще с этим заморачиваться.
А потом люди умирают, потому что где-то в сишном коде кто-то попасть в буфер не смог.
Исходная версия hateyoufeel, :
В пределах 4 байт. И потом выхожу по отсутствию «To:» в этом мусоре.
Да нифига. Компилятор может передвигать переменные по стеку. Я вообще не уверен, что там гарантирован порядок. Там что твоё buf[-1]=0 вполне может занулить байт в каком-нибудь указателе и тебя ждёт ОЛОЛО.
На самом деле я понятия не имею как правильно отработать такую ситуацию - файл успешно открылся на чтение, и сразу же случилась ошибка чтения. Что надо делать? Оставить файл на месте? Пропустить и переименовать как обработанный? Попробовать открыть ещё раз?
В смысле, что делать? Ошибку выдать. Как маленький, ей богу. Говорю же, гонору на товарный состав, а как код писать, так сразу «не знаю что делать» и «ай мама я накакал мимо буфера».
Так-то, за много лет эксплуатации оно ни разу не облажалось с чтением файла после удачного открытия на чтение. Не знаю, стоит ли вообще с этим заморачиваться.
А потом люди умирают, потому что где-то в сишном коде кто-то попасть в буфер не смог.