add linux vsnprintf