Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include <u.h>
#include <libc.h>
#include "fmtdef.h"

int
sprint(char *buf, char *fmt, ...)
{
        int n;
        uint len;
        va_list args;

        len = 1<<30;  /* big number, but sprint is deprecated anyway */
        /*
         * on PowerPC, the stack is near the top of memory, so
         * we must be sure not to overflow a 32-bit pointer.
         */
        if((uintptr)buf+len < (uintptr)buf)
                len = -(uintptr)buf-1;

        va_start(args, fmt);
        n = vsnprint(buf, len, fmt, args);
        va_end(args);
        return n;
}