int i_mode;
FILE *p_rrd;
mtime_t last_update;
+ time_t now; /* timestamp for rrd-log */
FILE * p_file; /* The log file */
msg_subscription_t *p_sub;
/*****************************************************************************
* Module descriptor
*****************************************************************************/
-static const char *mode_list[] = { "text", "html"
+static const char *const mode_list[] = { "text", "html"
#ifdef HAVE_SYSLOG_H
,"syslog"
#endif
};
-static const char *mode_list_text[] = { N_("Text"), "HTML"
+static const char *const mode_list_text[] = { N_("Text"), "HTML"
#ifdef HAVE_SYSLOG_H
, "syslog"
#endif
if( !psz_file )
{
#ifdef __APPLE__
- char *psz_homedir = p_this->p_libvlc->psz_homedir;
-
- if( !psz_homedir ) /* XXX: This should never happen */
- {
- msg_Err( p_this, "unable to find home directory" );
- return -1;
- }
- psz_file = (char *)malloc( sizeof("/" LOG_DIR "/" LOG_FILE_HTML) +
- strlen(psz_homedir) );
- if( psz_file )
- {
- switch( p_intf->p_sys->i_mode )
- {
- case MODE_HTML:
- sprintf( psz_file, "%s/" LOG_DIR "/" LOG_FILE_HTML,
- psz_homedir );
- break;
- case MODE_TEXT:
- default:
- sprintf( psz_file, "%s/" LOG_DIR "/" LOG_FILE_TEXT,
- psz_homedir );
- break;
- }
- }
+ if( asprintf( &psz_file, "%s/"LOG_DIR"/%s", config_GetHomeDir(),
+ (p_intf->p_sys->i_mode == MODE_HTML) ? LOG_FILE_HTML
+ : LOG_FILE_TEXT ) == -1 )
+ psz_file = NULL;
#else
switch( p_intf->p_sys->i_mode )
{
if( p_intf->p_libvlc->p_stats )
{
+ time(&p_intf->p_sys->now);
lldiv_t din = lldiv( p_intf->p_libvlc->p_stats->f_input_bitrate * 1000000,
1000 );
lldiv_t ddm = lldiv( p_intf->p_libvlc->p_stats->f_demux_bitrate * 1000000,
1000 );
fprintf( p_intf->p_sys->p_rrd,
"%"PRIi64":%lld.%03u:%lld.%03u:%lld.%03u\n",
- p_intf->p_sys->last_update/1000000,
+ (uintmax_t)p_intf->p_sys->now,
din.quot, (unsigned int)din.rem,
ddm.quot, (unsigned int)ddm.rem,
dout.quot, (unsigned int)dout.rem );