Всё верно Есть же статья на хабре про isalnum, musl и glibc https://m.habr.com/ru/post/520920/
Ну, кстати там немного хуйня в той статье написана, ибо реализация из glibc, во-первых, быстрее, во-вторых, корректно работает с локалями и различными кодировками
Да, но разбираться с причиной "рандомного" сегфолта в сорсах глибц — себе дороже
А ещё он там не рандомный Просто автор статьи - долбоёб, не читающий документацию
Он скормил функции не char, а uint32_t. А эта функция их не принимает
И самым разумным решением было улететь в сегфолт
аргументом является int, значение которого должно помещаться в unsigned char Это, конечно, верх логичности Извините, но держать доку под рукой на абсолютно каждый чих я как-то не очень хочу Ступишь шаг — оказывается, сегфолт и так нельзя, и надо по-другому
>это, конечно, верх логичности Все претензии к стандарту, который требует возвращать char и -1
uint8_t вместо тысячи слов
Не сработает Как ты -1 возвращать будешь?
О боже Они хотят 9-битный инт?
Может тогда отвал в сегфолт при значении, не помещающемся в текстовое описание которое доступно незнамо где, всё же чуть-чуть лишнее?
Нет По стандарту надо возвращать char и -1 при ошибке
Так тут аргумент инт, который должен поместиться в чар
нуу, -128..127 является интом и помещается в чар
Вот только char у тебя может быть unsigned
И ты идёшь нахуй в таком случае
Я вижу short (int16_t) или int (int32_t) со специальной обработкой -1 и маскированием об 0xFF в таком случае. Возврат шире 8-битного.
Обсуждают сегодня