[vlc-commits] commit: Remove VLC_VAR_LIST variable type ( Rémi Denis-Courmont )

git at videolan.org git at videolan.org
Tue Jun 8 20:05:58 CEST 2010


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Jun  8 21:03:11 2010 +0300| [f90eeab1ee15fdcc7c4121d877c44eacf5cea3fb] | committer: Rémi Denis-Courmont 

Remove VLC_VAR_LIST variable type

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

 include/vlc_common.h              |    1 -
 modules/misc/lua/libs/variables.c |   39 ++++++-------
 src/misc/objects.c                |    4 --
 src/misc/variables.c              |  104 -------------------------------------
 4 files changed, 18 insertions(+), 130 deletions(-)

diff --git a/include/vlc_common.h b/include/vlc_common.h
index 9cb0273..a05f24e 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -453,7 +453,6 @@ struct vlc_list_t
 #define VLC_VAR_TIME      0x0060
 #define VLC_VAR_ADDRESS   0x0070
 #define VLC_VAR_MUTEX     0x0080
-#define VLC_VAR_LIST      0x0090
 #define VLC_VAR_COORDS    0x00A0
 /**@}*/
 
diff --git a/modules/misc/lua/libs/variables.c b/modules/misc/lua/libs/variables.c
index 4373f37..211d461 100644
--- a/modules/misc/lua/libs/variables.c
+++ b/modules/misc/lua/libs/variables.c
@@ -75,27 +75,28 @@ int vlclua_pushvalue( lua_State *L, int i_type, vlc_value_t val )
         case VLC_VAR_MUTEX:
             vlclua_error( L );
             break;
-        case VLC_VAR_LIST:
-            {
-                int i_count = val.p_list->i_count;
-                int i;
-                lua_createtable( L, i_count, 0 );
-                for( i = 0; i < i_count; i++ )
-                {
-                    lua_pushinteger( L, i+1 );
-                    if( !vlclua_pushvalue( L, val.p_list->pi_types[i],
-                                           val.p_list->p_values[i] ) )
-                        lua_pushnil( L );
-                    lua_settable( L, -3 );
-                }
-            }
-            break;
         default:
             vlclua_error( L );
     }
     return 1;
 }
 
+static int vlclua_pushlist( lua_State *L, vlc_list_t *list )
+{
+    int i_count = val.p_list->i_count;
+
+    lua_createtable( L, i_count, 0 );
+    for( int i = 0; i < i_count; i++ )
+    {
+        lua_pushinteger( L, i+1 );
+        if( !vlclua_pushvalue( L, val.p_list->pi_types[i],
+                               val.p_list->p_values[i] ) )
+             lua_pushnil( L );
+        lua_settable( L, -3 );
+    }
+    return 1;
+}
+
 static int vlclua_tovalue( lua_State *L, int i_type, vlc_value_t *val )
 {
     switch( i_type & VLC_VAR_CLASS )
@@ -126,9 +127,6 @@ static int vlclua_tovalue( lua_State *L, int i_type, vlc_value_t *val )
         case VLC_VAR_MUTEX:
             vlclua_error( L );
             break;
-        case VLC_VAR_LIST:
-            vlclua_error( L );
-            break;
         default:
             vlclua_error( L );
     }
@@ -198,8 +196,8 @@ static int vlclua_var_get_list( lua_State *L )
     const char *psz_var = luaL_checkstring( L, 2 );
     int i_ret = var_Change( *pp_obj, psz_var, VLC_VAR_GETLIST, &val, &text );
     if( i_ret < 0 ) return vlclua_push_ret( L, i_ret );
-    vlclua_pushvalue( L, VLC_VAR_LIST, val );
-    vlclua_pushvalue( L, VLC_VAR_LIST, text );
+    vlclua_pushlist( L, val.p_list );
+    vlclua_pushlist( L, text.p_list );
     var_FreeList( &val, &text );
     return 2;
 }
@@ -358,7 +356,6 @@ static int vlclua_add_callback( lua_State *L )
         case VLC_VAR_ADDRESS:
         case VLC_VAR_VOID:
         case VLC_VAR_MUTEX:
-        case VLC_VAR_LIST:
         default:
             return vlclua_error( L );
     }
diff --git a/src/misc/objects.c b/src/misc/objects.c
index 47723f2..352acb3 100644
--- a/src/misc/objects.c
+++ b/src/misc/objects.c
@@ -698,7 +698,6 @@ static void DumpVariable (const void *data, const VISIT which, const int depth)
         MYCASE( COORDS, "coords" );
         MYCASE( ADDRESS, "address" );
         MYCASE( MUTEX, "mutex" );
-        MYCASE( LIST, "list" );
 #undef MYCASE
     }
     printf( " *-o \"%s\" (%s", p_var->psz_name, psz_type );
@@ -738,9 +737,6 @@ static void DumpVariable (const void *data, const VISIT which, const int depth)
         case VLC_VAR_ADDRESS:
             printf( ": %p", p_var->val.p_address );
             break;
-        case VLC_VAR_LIST:
-            fputs( ": TODO", stdout );
-            break;
     }
     fputc( '\n', stdout );
 }
diff --git a/src/misc/variables.c b/src/misc/variables.c
index 120aa4b..6f3e901 100644
--- a/src/misc/variables.c
+++ b/src/misc/variables.c
@@ -85,41 +85,6 @@ static void DupString( vlc_value_t *p_val )
     p_val->psz_string = strdup( p_val->psz_string ? p_val->psz_string :  "" );
 }
 
-static void DupList( vlc_value_t *p_val )
-{
-    int i;
-    vlc_list_t *p_list = malloc( sizeof(vlc_list_t) );
-
-    p_list->i_count = p_val->p_list->i_count;
-    if( p_val->p_list->i_count )
-    {
-        p_list->p_values = malloc( p_list->i_count * sizeof(vlc_value_t) );
-        p_list->pi_types = malloc( p_list->i_count * sizeof(int) );
-    }
-    else
-    {
-        p_list->p_values = NULL;
-        p_list->pi_types = NULL;
-    }
-
-    for( i = 0; i < p_list->i_count; i++ )
-    {
-        p_list->p_values[i] = p_val->p_list->p_values[i];
-        p_list->pi_types[i] = p_val->p_list->pi_types[i];
-        switch( p_val->p_list->pi_types[i] & VLC_VAR_CLASS )
-        {
-        case VLC_VAR_STRING:
-
-            DupString( &p_list->p_values[i] );
-            break;
-        default:
-            break;
-        }
-    }
-
-    p_val->p_list = p_list;
-}
-
 static void FreeDummy( vlc_value_t *p_val ) { (void)p_val; /* unused */ }
 static void FreeString( vlc_value_t *p_val ) { free( p_val->psz_string ); }
 static void FreeMutex( vlc_value_t *p_val ) { vlc_mutex_destroy( (vlc_mutex_t*)p_val->p_address ); free( p_val->p_address ); }
@@ -156,7 +121,6 @@ addr_ops   = { CmpAddress, DupDummy,  FreeDummy,  },
 bool_ops   = { CmpBool,    DupDummy,  FreeDummy,  },
 float_ops  = { CmpFloat,   DupDummy,  FreeDummy,  },
 int_ops    = { CmpInt,     DupDummy,  FreeDummy,  },
-list_ops   = { CmpAddress, DupList,   FreeList,   },
 mutex_ops  = { CmpAddress, DupDummy,  FreeMutex,  },
 string_ops = { CmpString,  DupString, FreeString, },
 time_ops   = { CmpTime,    DupDummy,  FreeDummy,  },
@@ -225,7 +189,6 @@ static void Destroy( variable_t *p_var )
  */
 int var_Create( vlc_object_t *p_this, const char *psz_name, int i_type )
 {
-    static vlc_list_t dummy_null_list = {0, NULL, NULL};
     assert( p_this );
 
     variable_t *p_var = calloc( 1, sizeof( *p_var ) );
@@ -287,10 +250,6 @@ int var_Create( vlc_object_t *p_this, const char *psz_name, int i_type )
             p_var->val.p_address = malloc( sizeof(vlc_mutex_t) );
             vlc_mutex_init( (vlc_mutex_t*)p_var->val.p_address );
             break;
-        case VLC_VAR_LIST:
-            p_var->ops = &list_ops;
-            p_var->val.p_list = &dummy_null_list;
-            break;
         default:
             p_var->ops = &void_ops;
 #ifndef NDEBUG
@@ -1109,46 +1068,12 @@ void var_OptionParse( vlc_object_t *p_obj, const char *psz_option,
         val.psz_string = psz_value;
         break;
 
-    case VLC_VAR_LIST:
-    {
-        char *psz_orig, *psz_var;
-        vlc_list_t *p_list = malloc(sizeof(vlc_list_t));
-        val.p_list = p_list;
-        p_list->i_count = 0;
-
-        psz_var = psz_orig = strdup(psz_value);
-        while( psz_var && *psz_var )
-        {
-            char *psz_item = psz_var;
-            vlc_value_t val2;
-            while( *psz_var && *psz_var != ',' ) psz_var++;
-            if( *psz_var == ',' )
-            {
-                *psz_var = '\0';
-                psz_var++;
-            }
-            val2.i_int = strtol( psz_item, NULL, 0 );
-            INSERT_ELEM( p_list->p_values, p_list->i_count,
-                         p_list->i_count, val2 );
-            /* p_list->i_count is incremented twice by INSERT_ELEM */
-            p_list->i_count--;
-            INSERT_ELEM( p_list->pi_types, p_list->i_count,
-                         p_list->i_count, VLC_VAR_INTEGER );
-        }
-        free( psz_orig );
-        break;
-    }
-
     default:
         goto cleanup;
     }
 
     var_Set( p_obj, psz_name, val );
 
-    /* If that's a list, remove all elements allocated */
-    if( i_type == VLC_VAR_LIST )
-        FreeList( &val );
-
 cleanup:
     free( psz_name );
 }
@@ -1300,35 +1225,6 @@ int var_Inherit( vlc_object_t *p_this, const char *psz_name, int i_type,
         case VLC_VAR_BOOL:
             p_val->b_bool = config_GetInt( p_this, psz_name );
             break;
-        case VLC_VAR_LIST:
-        {
-            char *psz_orig, *psz_var;
-            vlc_list_t *p_list = malloc(sizeof(vlc_list_t));
-            p_val->p_list = p_list;
-            p_list->i_count = 0;
-
-            psz_var = psz_orig = config_GetPsz( p_this, psz_name );
-            while( psz_var && *psz_var )
-            {
-                char *psz_item = psz_var;
-                vlc_value_t val;
-                while( *psz_var && *psz_var != ',' ) psz_var++;
-                if( *psz_var == ',' )
-                {
-                    *psz_var = '\0';
-                    psz_var++;
-                }
-                val.i_int = strtol( psz_item, NULL, 0 );
-                INSERT_ELEM( p_list->p_values, p_list->i_count,
-                             p_list->i_count, val );
-                /* p_list->i_count is incremented twice by INSERT_ELEM */
-                p_list->i_count--;
-                INSERT_ELEM( p_list->pi_types, p_list->i_count,
-                             p_list->i_count, VLC_VAR_INTEGER );
-            }
-            free( psz_orig );
-            break;
-        }
         default:
             msg_Warn( p_this, "Could not inherit value for var %s "
                               "from config. Invalid Type", psz_name );



More information about the vlc-commits mailing list