add: int len; sprintf(sa.reserve(256), "%d%n", i, &len);
context: operator<<(StringAccum &sa, int i){#ifdef BAD_SPRINTF  char *s = sa.reserve(256);  sprintf(s, "%d", i);  int len = strlen(s);#else  int len = sprintf(sa.reserve(256), "%d", i);#endif  sa.forward(len);  return sa;}