]> git.sesse.net Git - vlc/commitdiff
RC: fix segmentation fault due to input state changes - fixes #1620
authorRémi Denis-Courmont <rdenis@simphalempin.com>
Fri, 20 Jun 2008 19:21:24 +0000 (22:21 +0300)
committerRémi Denis-Courmont <rdenis@simphalempin.com>
Fri, 20 Jun 2008 19:21:24 +0000 (22:21 +0300)
include/vlc_input.h
modules/control/rc.c

index 7e155f77245664ba05503b303bb93d131acc1300..13f19d656d6af1a41c1174dc9303c7c8dc328670 100644 (file)
@@ -525,6 +525,8 @@ static inline void vlc_input_attachment_Delete( input_attachment_t *a )
  *****************************************************************************/
 
 /* "state" value */
+/* NOTE: you need to update ppsz_input_state in the RC interface
+ * if you modify this list. */
 enum input_state_e
 {
     INIT_S = 0,
@@ -536,7 +538,7 @@ enum input_state_e
     FORWARD_S,
     BACKWARD_S,
     END_S,
-    ERROR_S
+    ERROR_S,
 };
 
 /* "rate" default, min/max
index 25a3d71fa71e742b82e90bb962a4cc766340acf7..5de88df58325638b45aa9aa0bbc9fca9b2341548 100644 (file)
 #define MAX_LINE_LENGTH 256
 #define STATUS_CHANGE "status change: "
 
-static const char *ppsz_input_state[] = { N_("Initializing"), N_("Opening"), N_("Buffer"), N_("Play"), N_("Pause"), N_("Stop"), N_("Error") };
+/* input_state_e from <vlc_input.h> */
+static const char *ppsz_input_state[] = {
+    N_("Initializing"),
+    N_("Opening"),
+    N_("Buffer"),
+    N_("Play"),
+    N_("Pause"),
+    N_("Stop"),
+    N_("Forward"),
+    N_("Backward"),
+    N_("End"),
+    N_("Error"),
+};
 
 /*****************************************************************************
  * Local prototypes
@@ -1000,7 +1012,7 @@ static int StateChanged( vlc_object_t *p_this, char const *psz_cmd,
             cmd[0] = '\0';
         } /* var_GetInteger( p_input, "state" )  */
         msg_rc( STATUS_CHANGE "( %s state: %d ): %s",
-                              &cmd[0], newval.i_int,
+                              cmd, newval.i_int,
                               ppsz_input_state[ newval.i_int ] );
         vlc_object_release( p_playlist );
         vlc_object_release( p_input );