Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!umcp-cs!chris
From: chris@umcp-cs.UUCP (Chris Torek)
Newsgroups: net.unix-wizards
Subject: Re: Does anybody have a version of SPRINTF with bounds checking and flame
Message-ID: <8132@umcp-cs.UUCP>
Date: Mon, 20-Aug-84 09:09:05 EDT
Article-I.D.: umcp-cs.8132
Posted: Mon Aug 20 09:09:05 1984
Date-Received: Wed, 22-Aug-84 02:45:03 EDT
References: <1323@wateng.UUCP>
Organization: U of Maryland, Computer Science Dept., College Park, MD
Lines: 29

I've already complained about that one here.  Here's an ``sprintfl''
that does a counted sprintf and works on BSD Vaxen:

#include 

char *sprintfl (buf, len, fmt, arg)
register char *buf;
register int len;
char *fmt;
{
    struct _iobuf s;

    if (len <= 0)
	return;
    if (--len <= 0) {	/* use sobgtr */
	*buf = 0;
	return;
    }
    s._ptr = buf;
    s._cnt = len;
    s._flag = _IOSTRG;	/* leave out _IOWRT! */
    _doprnt (fmt, &arg, &s);
    buf[len] = 0;
    return buf;
}
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci (301) 454-7690
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@maryland