История изменений
Исправление vodz, (текущая версия) :
Возвращает текущий токен.
А что по вашему надо было возвращать? Указатель на сдвинутый буфер файла? Да не вопрос. Но речь то про юзабельность.
Он засунул возврат в общий контекст,
И? При получении следующего всё предыдущее он теряет.
Это не значит, что из этого контекста нельзя писал в массив.
Этот массив структур с полями указателем и длинной надо ещё создать, расширять и вдруг окажется, что та структура которую он сейчас завел нафиг не нужна, так как применение её только для того, чтобы один параметр передавать. :)
zero-terminating - ты добавил только потому, что ничего другого не осилил.
Пф. У меня обратное ощущение в вашей неосиляторстве. Единственно когда lenght удобнее '\0', это когда в таком странном входном алфавите представлены все символы. Если б не его желание посоревноваться скоростью с языками, где накидать указателей на память со всосанным файлом весьма проблематично (ещё надо было б продемонстрировать, как он это представляет с tty-шным stdin), то при getchar-ах и нет никакой сложности вставить любой неалфавитный признак конца токена, всё равно память под токены будет ваша, а не псевдо-mmap.
Исходная версия vodz, :
Возвращает текущий токен.
А что по вашему надо было возвращать? Указатель на сдвинутый буфер файла? Да не вопрос. Но речь то про юзабельность.
Он засунул возврат в общий контекст,
И? При получении следующего всё предыдущее он теряет.
Это не значит, что из этого контекста нельзя писал в массив.
Этот массив структур с полями указателем и длинной надо ещё создать, расширять и вдруг окажется, что та структура которую он сейчас завел нафиг не нужна, так как применение её только для того, чтобы один параметр передавать. :)
zero-terminating - ты добавил только потому, что ничего другого не осилил.
Пф. У меня обратное ощущение в вашей неосиляторстве. Единственно когда lenght удобнее '\0', это когда в таком странном входном алфавите представлены все символы. Если б не его желание посоревноваться скоростью с языками, где накидать указателей на память со всосанным файлом весьма проблематично (ещё надо было б продемонстрировать, как он это представляет с tty-шным stdin), то при getchar-ах и нет никакой сложности вставить любой неалфавитный признак конца токена, всё равно память под токены будет ваша, а не псевдо-mmap.
map[(uint8_t)(*(str))]
То что вы говорите «это не», никак не меняет истины - это неосиляторство указателей.