- vlc_gc_init (submodule, vlc_submodule_destruct);
-
- submodule->next = module->submodule;
- submodule->parent = module;
- module->submodule = submodule;
- module->submodule_count++;
-
- /* Muahahaha! Heritage! Polymorphism! Ugliness!! */
- memcpy (submodule->pp_shortcuts, module->pp_shortcuts,
- sizeof (submodule->pp_shortcuts));
-
- submodule->psz_object_name = strdup( module->psz_object_name );
- submodule->psz_shortname = module->psz_shortname;
- submodule->psz_longname = module->psz_longname;
- submodule->psz_capability = module->psz_capability;
- submodule->i_score = module->i_score;
- submodule->i_cpu = module->i_cpu;
- submodule->b_submodule = true;
- return submodule;
+ memset (tab + confsize, 0, sizeof (tab[confsize]));
+ if (IsConfigIntegerType (type))
+ {
+ tab[confsize].max.i = INT_MAX;
+ tab[confsize].min.i = INT_MIN;
+ }
+ tab[confsize].i_type = type;
+
+ if (CONFIG_ITEM(type))
+ {
+ module->i_config_items++;
+ if (type == CONFIG_ITEM_BOOL)
+ module->i_bool_items++;
+ }
+
+ module->confsize++;
+ return tab + confsize;