diff options
author | Grigori Goronzy <greg@blackbox> | 2009-07-26 16:03:37 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2009-07-26 16:03:37 +0200 |
commit | f21c5b6b2788d1ba2073cb4066eedee0de1b249e (patch) | |
tree | 027a48eea625849f03c4756f770ad101b8a080a7 /libass | |
parent | 311ec23031e257a8edde5153b09a5d0c2d6b0f6b (diff) | |
download | libass-f21c5b6b2788d1ba2073cb4066eedee0de1b249e.tar.bz2 libass-f21c5b6b2788d1ba2073cb4066eedee0de1b249e.tar.xz |
Improve message callback API
Instead of passing a pointer to a va_list, pass the va_list itself.
Additionally, use const char for the format string and use names in
the prototype that describe the arguments' meaning.
Diffstat (limited to 'libass')
-rw-r--r-- | libass/ass.h | 4 | ||||
-rw-r--r-- | libass/ass_library.c | 7 | ||||
-rw-r--r-- | libass/ass_library.h | 2 | ||||
-rw-r--r-- | libass/ass_utils.c | 2 |
4 files changed, 7 insertions, 8 deletions
diff --git a/libass/ass.h b/libass/ass.h index e2437113..ddc2d551 100644 --- a/libass/ass.h +++ b/libass/ass.h @@ -124,8 +124,8 @@ void ass_process_force_style(ass_track_t *track); * \param msg_cb pointer to callback function * \param data additional data, will be passed to callback */ -void ass_set_message_cb(ass_library_t *priv, - void (*msg_cb)(int, char *, va_list *, void *), +void ass_set_message_cb(ass_library_t *priv, void (*msg_cb) + (int level, const char *fmt, va_list args, void *data), void *data); /** diff --git a/libass/ass_library.c b/libass/ass_library.c index f464af7a..3481b6fa 100644 --- a/libass/ass_library.c +++ b/libass/ass_library.c @@ -28,12 +28,12 @@ #include "ass_library.h" #include "ass_utils.h" -static void ass_msg_handler(int level, char *fmt, va_list *va, void *data) +static void ass_msg_handler(int level, const char *fmt, va_list va, void *data) { if (level > MSGL_INFO) return; fprintf(stderr, "[ass] "); - vfprintf(stderr, fmt, *va); + vfprintf(stderr, fmt, va); fprintf(stderr, "\n"); } @@ -137,7 +137,7 @@ void ass_clear_fonts(ass_library_t *priv) * \param data additional data that will be passed to the callback */ void ass_set_message_cb(ass_library_t *priv, - void (*msg_cb)(int, char *, va_list *, void *), + void (*msg_cb)(int, const char *, va_list, void *), void *data) { if (msg_cb) { @@ -145,4 +145,3 @@ void ass_set_message_cb(ass_library_t *priv, priv->msg_callback_data = data; } } - diff --git a/libass/ass_library.h b/libass/ass_library.h index 85b0842d..e6b37e87 100644 --- a/libass/ass_library.h +++ b/libass/ass_library.h @@ -36,7 +36,7 @@ struct ass_library_s { ass_fontdata_t *fontdata; int num_fontdata; - void (*msg_callback)(int, char *, va_list *, void *); + void (*msg_callback)(int, const char *, va_list, void *); void *msg_callback_data; }; diff --git a/libass/ass_utils.c b/libass/ass_utils.c index 56ca0ef6..50b150f4 100644 --- a/libass/ass_utils.c +++ b/libass/ass_utils.c @@ -126,7 +126,7 @@ void ass_msg(ass_library_t *priv, int lvl, char *fmt, ...) { va_list va; va_start(va, fmt); - priv->msg_callback(lvl, fmt, &va, priv->msg_callback_data); + priv->msg_callback(lvl, fmt, va, priv->msg_callback_data); va_end(va); } |