diff --git a/src/port/snprintf.c b/src/port/snprintf.c
index cad7345..b9b6add 100644
*** a/src/port/snprintf.c
--- b/src/port/snprintf.c
*************** dopr(PrintfTarget *target, const char *f
*** 431,436 ****
--- 431,449 ----
  
  		/* Process conversion spec starting at *format */
  		format++;
+ 
+ 		/* Fast path for conversion spec that is exactly %s */
+ 		if (*format == 's')
+ 		{
+ 			format++;
+ 			strvalue = va_arg(args, char *);
+ 			Assert(strvalue != NULL);
+ 			dostr(strvalue, strlen(strvalue), target);
+ 			if (target->failed)
+ 				break;
+ 			continue;
+ 		}
+ 
  		fieldwidth = precision = zpad = leftjust = forcesign = 0;
  		longflag = longlongflag = pointflag = 0;
  		fmtpos = accum = 0;
