[vlc-devel] commit: lirc: we don't need to keep the name of the file in memory. ( Rémi Duraffort )

git version control git at videolan.org
Thu Oct 15 15:00:49 CEST 2009


vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Thu Oct 15 14:18:00 2009 +0200| [e44ad809583fdfd39c84709356a35a2749f117b3] | committer: Rémi Duraffort 

lirc: we don't need to keep the name of the file in memory.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e44ad809583fdfd39c84709356a35a2749f117b3
---

 modules/control/lirc.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/modules/control/lirc.c b/modules/control/lirc.c
index 8b33257..d57a6c3 100644
--- a/modules/control/lirc.c
+++ b/modules/control/lirc.c
@@ -70,7 +70,6 @@ vlc_module_end ()
  *****************************************************************************/
 struct intf_sys_t
 {
-    char *psz_file;
     struct lirc_config *config;
 
     int i_fd;
@@ -90,6 +89,7 @@ static int Open( vlc_object_t *p_this )
 {
     intf_thread_t *p_intf = (intf_thread_t *)p_this;
     intf_sys_t *p_sys;
+    char *psz_file;
 
     /* Allocate instance and initialize some members */
     p_intf->p_sys = p_sys = malloc( sizeof( intf_sys_t ) );
@@ -98,7 +98,6 @@ static int Open( vlc_object_t *p_this )
 
     p_intf->pf_run = Run;
 
-    p_sys->psz_file = var_CreateGetNonEmptyString( p_intf, "lirc-file" );
     p_sys->i_fd = lirc_init( "vlc", 1 );
     if( p_sys->i_fd == -1 )
     {
@@ -109,19 +108,21 @@ static int Open( vlc_object_t *p_this )
     /* We want polling */
     fcntl( p_sys->i_fd, F_SETFL, fcntl( p_sys->i_fd, F_GETFL ) | O_NONBLOCK );
 
-    /* */
-    if( lirc_readconfig( p_sys->psz_file, &p_sys->config, NULL ) != 0 )
+    /* Read the configuration file */
+    psz_file = var_CreateGetNonEmptyString( p_intf, "lirc-file" );
+    if( lirc_readconfig( psz_file, &p_sys->config, NULL ) != 0 )
     {
         msg_Err( p_intf, "failure while reading lirc config" );
+        free( psz_file );
         goto exit;
     }
+    free( psz_file );
 
     return VLC_SUCCESS;
 
 exit:
     if( p_sys->i_fd != -1 )
         lirc_deinit();
-    free( p_sys->psz_file );
     free( p_sys );
     return VLC_EGENERIC;
 }
@@ -137,7 +138,6 @@ static void Close( vlc_object_t *p_this )
     /* Destroy structure */
     lirc_freeconfig( p_sys->config );
     lirc_deinit();
-    free( p_sys->psz_file );
     free( p_sys );
 }
 




More information about the vlc-devel mailing list