diff options
author | djm@openbsd.org <djm@openbsd.org> | 2020-04-03 02:25:21 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2020-04-03 13:32:50 +1100 |
commit | af628b8a6c3ef403644d83d205c80ff188c97f0c (patch) | |
tree | b1cb69480db2ae4637976f4a91cd6f3cfb0718db | |
parent | d8ac9af645f5519ac5211e9e1e4dc1ed00e9cced (diff) | |
download | openssh-git-af628b8a6c3ef403644d83d205c80ff188c97f0c.tar.gz |
upstream: add allocating variant of the safe utf8 printer; ok
dtucker as part of a larger diff
OpenBSD-Commit-ID: 037e2965bd50eacc2ffb49889ecae41552744fa0
-rw-r--r-- | utf8.c | 16 | ||||
-rw-r--r-- | utf8.h | 4 |
2 files changed, 18 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: utf8.c,v 1.9 2020/03/06 18:12:55 markus Exp $ */ +/* $OpenBSD: utf8.c,v 1.10 2020/04/03 02:25:21 djm Exp $ */ /* * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> * @@ -255,6 +255,20 @@ snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) return ret; } +int +asmprintf(char **outp, size_t sz, int *wp, const char *fmt, ...) +{ + va_list ap; + int ret; + + *outp = NULL; + va_start(ap, fmt); + ret = vasnmprintf(outp, sz, wp, fmt, ap); + va_end(ap); + + return ret; +} + /* * To stay close to the standard interfaces, the following functions * return the number of non-NUL bytes written. @@ -1,4 +1,4 @@ -/* $OpenBSD: utf8.h,v 1.1 2016/05/25 23:48:45 schwarze Exp $ */ +/* $OpenBSD: utf8.h,v 1.2 2020/04/03 02:25:21 djm Exp $ */ /* * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> * @@ -22,4 +22,6 @@ int fmprintf(FILE *, const char *, ...) int vfmprintf(FILE *, const char *, va_list); int snmprintf(char *, size_t, int *, const char *, ...) __attribute__((format(printf, 4, 5))); +int asmprintf(char **, size_t, int *, const char *, ...) + __attribute__((format(printf, 4, 5))); void msetlocale(void); |