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