ref: 00a30d4dc8de0929b982ed5d5e2ebd7d49df86e0
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);
}