diff options
author | wm4 <wm4@nowhere> | 2017-07-24 08:07:32 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-07-24 08:12:42 +0200 |
commit | 24dc91907a039b7a86bf6d5b2a0a914bf1f44c3d (patch) | |
tree | 0aeb8046536a1d2a799d352112418960387cc94d /video/out/opengl/video.c | |
parent | 3d0f86145ce211eee623b661d558ef3405d75933 (diff) | |
download | mpv-24dc91907a039b7a86bf6d5b2a0a914bf1f44c3d.tar.bz2 mpv-24dc91907a039b7a86bf6d5b2a0a914bf1f44c3d.tar.xz |
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 'video/out/opengl/video.c')
-rw-r--r-- | video/out/opengl/video.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c index 9587eaaa5f..682825b6f9 100644 --- a/video/out/opengl/video.c +++ b/video/out/opengl/video.c @@ -1104,14 +1104,10 @@ static void pass_prepare_src_tex(struct gl_video *p) if (!s->gl_tex) continue; - char texture_name[32]; - char texture_size[32]; - char texture_rot[32]; - char pixel_size[32]; - snprintf(texture_name, sizeof(texture_name), "texture%d", n); - snprintf(texture_size, sizeof(texture_size), "texture_size%d", n); - snprintf(texture_rot, sizeof(texture_rot), "texture_rot%d", n); - snprintf(pixel_size, sizeof(pixel_size), "pixel_size%d", n); + char *texture_name = mp_tprintf(32, "texture%d", n); + char *texture_size = mp_tprintf(32, "texture_size%d", n); + char *texture_rot = mp_tprintf(32, "texture_rot%d", n); + char *pixel_size = mp_tprintf(32, "pixel_size%d", n); if (gl_is_integer_format(s->gl_format)) { gl_sc_uniform_tex_ui(sc, texture_name, s->gl_tex); |