История изменений
Исправление PPP328, (текущая версия) :
Making this behavior undefined continues to allow existing implementations to do as they please, but provides a clear warning to developers to guard against zero-byte reallocations.
Это просто чистейший фейспалм. «Вон та реализация Keil-C кривая, поэтому давайте пусть такое поведение у всех будет». Что дальше? Объявим Microsoft-C стандартом и все будем равняться на _wstrbpbstio
?
Какая вообще нахрен разница, какое поведение в конкретной реализации? Это новый стандарт, новый, блэт! Если у вас не соответствует стандарту - значит вы не соответствуете стандарту. Причем тут вообще «а вот у них нет float, давайте их уберем»
Новый код НЕ сломается пока кто-то принудительно не поставит -std=c23. Тот же самый фейспалм был с bool. Какой смысл был его выносить в отдельный заголовок? Чтобы что? Чтобы не сломать код? Какой? Который под c89/90 компилируется? Ну так у него всё будет хорошо. Зато новый код оброс костылем.
Исходная версия PPP328, :
Making this behavior undefined continues to allow existing implementations to do as they please, but provides a clear warning to developers to guard against zero-byte reallocations.
Это просто чистейший фейспалм. «Вон та реализация Keil-C кривая, поэтому давайте пусть такое поведение у всех будет». Что дальше? Объявим Microsoft-C стандартом и все будем равняться на _wstrbpbstio
?
Какая вообще нахрен разница, какое поведение в конкретной реализации? Это новый стандарт, новый, блэт! Если у вас не соответствует стандарту - значит вы не соответствуете стандарту. Причем тут вообще «а вот у них нет float, давайте их уберем»