a smart string lib for c