В документации glib отсутствуют многие важные вещи, которые, я думаю, должны обязательно включать в документацию API.Например, запись для g_malloc говорит ничего о том, что он будет аварийно завершать работу при сбое выделения памяти (в противоположность поведению стандарта malloc
, которое, как следует из названия, имитирует).Только если вы заметите, что есть также вариант с именем g_try_malloc и прочитаете его описание, вам сообщат, что g_try_malloc
Попытка выделить n_bytes и возврат NULL вотказ.В отличие от g_malloc (), который прерывает программу при сбое.
Теперь для вопроса, glib имеет функцию g_strdup
, которая также не упоминает ничего о возможном возвращении NULL.Я предполагаю, что этого не произойдет, поскольку подразумевается, что он будет использовать g_malloc для внутреннего использования.Будет ли это?