Negative size reevaluates printf, positive uses buffer