ref: 8a4ebe3fc930049a7ad7699443a44412d7a16a6a
dir: /unix/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);
}