@ony for this block `void *` is OK, but later it's used as a `char_u *`. Thanks to your comment I'm now reducing the scope of this "first" `p` and renaming it to `void *aux`.