It's funny because I totally would have done this years ago, but I've started adopting more (of what I always thought of as) "C idioms" such as immediately using the return values of "iterator"-like functions to step during a loop.

But I totally see the clarity (and possibly better debuggability) of assigning to an intermediate value. I'll make a `char *nextSegment` or something.