X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcontrol%2Flog.c;h=182fb8b9fc8898a071d88474aebdf060417ccfbe;hb=81a45beda78abfe78354d9b348f6dfba1a3b9598;hp=8cfb3c8a1ccc2dababdc67e9614ec3ea0aad87ae;hpb=7573989dd5aa4229341437c42dd175365eca3487;p=vlc diff --git a/src/control/log.c b/src/control/log.c index 8cfb3c8a1c..182fb8b9fc 100644 --- a/src/control/log.c +++ b/src/control/log.c @@ -158,33 +158,32 @@ int libvlc_log_iterator_has_next( const libvlc_log_iterator_t *p_iter, libvlc_ex } libvlc_log_message_t *libvlc_log_iterator_next( libvlc_log_iterator_t *p_iter, - struct libvlc_log_message_t *buffer, + libvlc_log_message_t *buffer, libvlc_exception_t *p_e ) { - if( p_iter ) - { - if( buffer && (sizeof(struct libvlc_log_message_t) == buffer->sizeof_msg) ) - { - int i_pos = p_iter->i_pos; - if( i_pos != p_iter->i_end ) - { - msg_item_t *msg; - vlc_mutex_lock(p_iter->p_messages->p_lock); - msg = p_iter->p_messages->p_msg+i_pos; - buffer->i_severity = msg->i_type; - buffer->psz_type = msg->psz_object_type; - buffer->psz_name = msg->psz_module; - buffer->psz_header = msg->psz_header; - buffer->psz_message = msg->psz_msg; - p_iter->i_pos = ++i_pos % VLC_MSG_QSIZE; - vlc_mutex_unlock(p_iter->p_messages->p_lock); - - return buffer; - } - RAISENULL("No more messages"); - } + int i_pos; + + if( !p_iter ) + RAISENULL("Invalid log iterator!"); + if( !buffer ) RAISENULL("Invalid message buffer!"); + + i_pos = p_iter->i_pos; + if( i_pos != p_iter->i_end ) + { + msg_item_t *msg; + vlc_mutex_lock(p_iter->p_messages->p_lock); + msg = p_iter->p_messages->p_msg+i_pos; + buffer->i_severity = msg->i_type; + buffer->psz_type = msg->psz_object_type; + buffer->psz_name = msg->psz_module; + buffer->psz_header = msg->psz_header; + buffer->psz_message = msg->psz_msg; + p_iter->i_pos = ++i_pos % VLC_MSG_QSIZE; + vlc_mutex_unlock(p_iter->p_messages->p_lock); + + return buffer; } - RAISENULL("Invalid log iterator!"); + RAISENULL("No more messages"); }