fix sprintf bug