diff options
Diffstat (limited to 'usr.bin/cvs/xmalloc.c')
-rw-r--r-- | usr.bin/cvs/xmalloc.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/usr.bin/cvs/xmalloc.c b/usr.bin/cvs/xmalloc.c index 1baf4a1ea2d..9883da91ef9 100644 --- a/usr.bin/cvs/xmalloc.c +++ b/usr.bin/cvs/xmalloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xmalloc.c,v 1.6 2006/03/28 02:13:44 ray Exp $ */ +/* $OpenBSD: xmalloc.c,v 1.7 2007/01/29 16:22:29 xsa Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -102,3 +102,19 @@ xasprintf(char **ret, const char *fmt, ...) return (i); } + +int +xsnprintf(char *str, size_t size, const char *fmt, ...) +{ + va_list ap; + int i; + + va_start(ap, fmt); + i = vsnprintf(str, size, fmt, ap); + va_end(ap); + + if (i == -1 || i >= (int)size) + fatal("xsnprintf: overflow"); + + return (i); +} |