Built with from Grav and Hugo
if don’t pass pointer param which points to same data block, functions
rio_readn rio_writen rio_readinitb rio_readlineb rio_readnb
are all implicitly reentrant functions