Well, the data "on disk" is not NUL-terminated. So, though the type I am using 
is called "cstring" the string data is not terminated. If anything, the data is 
more "newline terminated" in your file format. Those newlines are mapped out by 
the `memSlices` iterator, though with the result stored in `.size`. So, I just 
use that to bound the loop.

I used that type because Nim defines convenient `[]` style access to the bytes 
of a `cstring` giving back `char` s. It isn't strictly necessary, but that was 
my reason. (You would have to do your own pointer arithmetic and dereferencing 
otherwise).

Reply via email to