Подробности

[В начало]

Проблема в стандарте № S0010

Краткое описание

Описание функции memmem() недостаточно информативно.

Подробное описание

Отсутствуют указания относительно поведения функции
void * memmem(const void * haystack, size_t haystacklen, const void * needle, size_t needlelen);
в случае, когда:

  • needlelen==0;
  • haystacklen==0 и needlelen==0.

Раздел стандарта

Linux Standard Base Core Specification 3.1, Chapter 13. Base Libraries, 13.5. Interface Definitions for libc, description of function memmem.

Возможные последствия

Несовместимость программ, работающих на разных представителях Linux, удовлетворяющих стандарту.

Способы устранения

Мы предполагаем, что в этих случаях функция должна возвращать haystack.

Принято

LSB Bugzilla, 1327

Статус

Исправлена в LSB 4.0

[В начало]