LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

В пределах 4 байт. И потом выхожу по отсутствию «To:» в этом мусоре.

Да нифига. Компилятор может передвигать переменные по стеку. Я вообще не уверен, что там гарантирован порядок. Там что твоё buf[-1]=0 вполне может занулить байт в каком-нибудь указателе, по адресу в котом ты там потом пишешь, и тебя ждёт ОЛОЛО. Ты бы знал это, если бы стандарт почитал. Но читать ты не умеешь, как и писать код.

На самом деле я понятия не имею как правильно отработать такую ситуацию - файл успешно открылся на чтение, и сразу же случилась ошибка чтения. Что надо делать? Оставить файл на месте? Пропустить и переименовать как обработанный? Попробовать открыть ещё раз?

В смысле, что делать? Ошибку выдать. Как маленький, ей богу. Говорю же, гонору на товарный состав, а как код писать, так сразу «не знаю что делать» и «ай мама я накакал мимо буфера».

Так-то, за много лет эксплуатации оно ни разу не облажалось с чтением файла после удачного открытия на чтение. Не знаю, стоит ли вообще с этим заморачиваться.

А потом люди умирают, потому что где-то в сишном коде кто-то попасть в буфер не смог.

Исправление hateyoufeel, :

В пределах 4 байт. И потом выхожу по отсутствию «To:» в этом мусоре.

Да нифига. Компилятор может передвигать переменные по стеку. Я вообще не уверен, что там гарантирован порядок. Там что твоё buf[-1]=0 вполне может занулить байт в каком-нибудь указателе и тебя ждёт ОЛОЛО. Ты бы знал это, если бы стандарт почитал. Но читать ты не умеешь, как и писать код.

На самом деле я понятия не имею как правильно отработать такую ситуацию - файл успешно открылся на чтение, и сразу же случилась ошибка чтения. Что надо делать? Оставить файл на месте? Пропустить и переименовать как обработанный? Попробовать открыть ещё раз?

В смысле, что делать? Ошибку выдать. Как маленький, ей богу. Говорю же, гонору на товарный состав, а как код писать, так сразу «не знаю что делать» и «ай мама я накакал мимо буфера».

Так-то, за много лет эксплуатации оно ни разу не облажалось с чтением файла после удачного открытия на чтение. Не знаю, стоит ли вообще с этим заморачиваться.

А потом люди умирают, потому что где-то в сишном коде кто-то попасть в буфер не смог.

Исходная версия hateyoufeel, :

В пределах 4 байт. И потом выхожу по отсутствию «To:» в этом мусоре.

Да нифига. Компилятор может передвигать переменные по стеку. Я вообще не уверен, что там гарантирован порядок. Там что твоё buf[-1]=0 вполне может занулить байт в каком-нибудь указателе и тебя ждёт ОЛОЛО.

На самом деле я понятия не имею как правильно отработать такую ситуацию - файл успешно открылся на чтение, и сразу же случилась ошибка чтения. Что надо делать? Оставить файл на месте? Пропустить и переименовать как обработанный? Попробовать открыть ещё раз?

В смысле, что делать? Ошибку выдать. Как маленький, ей богу. Говорю же, гонору на товарный состав, а как код писать, так сразу «не знаю что делать» и «ай мама я накакал мимо буфера».

Так-то, за много лет эксплуатации оно ни разу не облажалось с чтением файла после удачного открытия на чтение. Не знаю, стоит ли вообще с этим заморачиваться.

А потом люди умирают, потому что где-то в сишном коде кто-то попасть в буфер не смог.