On December 23, 2017 3:01 PM, Sebastian Gniazdowski wrote: > We could do a pair of calls, first fgets(), then fgetc(), and this way > solve this problem? Wouldn't work because `fgets()` just returns the string as well as storing it in the buffer instead of doing the _sane_ thing and returning the number of characters read. Because of that it's impossible to know if there are actually any useful characters in our buffer past the first '\0' (if you tried to read past that you would just be asking for a buffer overrun). Sadly, `fgets()` is of limited use for our purposes if the lines may have embedded '\0' characters. A possible alternative is something like POSIX `getline()` but I don't know if something like that would be kosher for Zsh. If it is, though, give a holler and I will cook up a patch. -- Joey Pabalinas