vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Feb 20 23:24:52 2019 +0200| [167d3809be5ffad2eee0612279945cec81e316b5] | committer: Rémi Denis-Courmont
messages: rationalize vlc_LogEarlyCreate() > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=167d3809be5ffad2eee0612279945cec81e316b5 --- src/misc/messages.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/misc/messages.c b/src/misc/messages.c index af71fa886e..3daee9e224 100644 --- a/src/misc/messages.c +++ b/src/misc/messages.c @@ -206,6 +206,7 @@ typedef struct vlc_log_early_t *head; vlc_log_early_t **tailp; vlc_logger_t *sink; + struct vlc_logger logger; } vlc_logger_early_t; static void vlc_vaLogEarly(void *d, int type, const vlc_log_t *item, @@ -263,20 +264,19 @@ static const struct vlc_logger_operations early_ops = { vlc_LogEarlyClose, }; -static -const struct vlc_logger_operations *vlc_LogEarlyOpen(vlc_logger_t *logger, - void **restrict sysp) +static struct vlc_logger *vlc_LogEarlyOpen(struct vlc_logger *logger) { - vlc_logger_early_t *sys = malloc(sizeof (*sys)); - if (unlikely(sys == NULL)) + vlc_logger_early_t *early = malloc(sizeof (*early)); + if (unlikely(early == NULL)) return NULL; - vlc_mutex_init(&sys->lock); - sys->head = NULL; - sys->tailp = &sys->head; - sys->sink = logger; - *sysp = sys; - return &early_ops; + early->logger.ops = &early_ops; + early->logger.sys = early; + vlc_mutex_init(&early->lock); + early->head = NULL; + early->tailp = &early->head; + early->sink = logger; + return &early->logger; } static void vlc_vaLogDiscard(void *d, int type, const vlc_log_t *item, @@ -468,11 +468,9 @@ int vlc_LogPreinit(libvlc_int_t *vlc) } vlc->obj.logger = logger; - const struct vlc_logger_operations *ops; - void *opaque; - - ops = vlc_LogEarlyOpen(logger, &opaque); - vlc_LogSet(vlc, ops, opaque); + struct vlc_logger *early = vlc_LogEarlyOpen(logger); + if (early != NULL) + vlc_LogSet(vlc, early->ops, early->sys); return 0; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
