aboutsummaryrefslogtreecommitdiffhomepage
path: root/common/common.c
diff options
context:
space:
mode:
authorGravatar wm4 <wm4@nowhere>2017-07-24 08:07:32 +0200
committerGravatar wm4 <wm4@nowhere>2017-07-24 08:12:42 +0200
commit24dc91907a039b7a86bf6d5b2a0a914bf1f44c3d (patch)
tree0aeb8046536a1d2a799d352112418960387cc94d /common/common.c
parent3d0f86145ce211eee623b661d558ef3405d75933 (diff)
common, vo_opengl: add/use helper for formatted strings on the stack
Seems like I really like this C99 idiom. No reason not to generalize it do snprintf(). Introduce mp_tprintf(), which basically this idiom to snprintf(). This macro looks like it returns a string that was allocated with alloca() on the caller site, except it's portable C99/C11. (And unlike alloca(), the result is valid only within block scope.) Use it in 2 places in the vo_opengl code. But it has the potential to make a whole bunch of weird looking code look slightly nicer.
Diffstat (limited to 'common/common.c')
-rw-r--r--common/common.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/common/common.c b/common/common.c
index eead096d5a..a07af8c461 100644
--- a/common/common.c
+++ b/common/common.c
@@ -287,3 +287,12 @@ char *mp_tag_str_buf(char *buf, size_t buf_size, uint32_t tag)
}
return buf;
}
+
+char *mp_tprintf_buf(char *buf, size_t buf_size, const char *format, ...)
+{
+ va_list ap;
+ va_start(ap, format);
+ vsnprintf(buf, buf_size, format, ap);
+ va_end(ap);
+ return buf;
+}