ref: 1012a3c0ee66d9ebc90ec241ec6a47692fd63484
dir: /seprint.c/
#include <stdio.h>
#include <stdarg.h>
char *
seprint(char *buf, char *e, char *fmt, ...)
{
va_list a;
int n, m;
if(e <= buf)
return e;
va_start(a, fmt);
m = e-buf-1;
n = vsnprintf(buf, m, fmt, a);
va_end(a);
return buf + (n < m ? n : m);
}