mlt_property mlt_property_init( )
{
- return calloc( sizeof( struct mlt_property_s ), 1 );
+ mlt_property this = malloc( sizeof( struct mlt_property_s ) );
+ if ( this != NULL )
+ {
+ this->types = 0;
+ this->prop_int = 0;
+ this->prop_position = 0;
+ this->prop_double = 0;
+ this->prop_int64 = 0;
+ this->prop_string = NULL;
+ this->data = NULL;
+ this->length = 0;
+ this->destructor = NULL;
+ this->serialiser = NULL;
+ }
+ return this;
}
/** Clear a property.
*/
-void mlt_property_clear( mlt_property this )
+static inline void mlt_property_clear( mlt_property this )
{
// Special case data handling
if ( this->types & mlt_prop_data && this->destructor != NULL )
if ( this->types & mlt_prop_string )
free( this->prop_string );
- // We can wipe it now.
- memset( this, 0, sizeof( struct mlt_property_s ) );
+ // Wipe stuff
+ this->types = 0;
+ this->prop_int = 0;
+ this->prop_position = 0;
+ this->prop_double = 0;
+ this->prop_int64 = 0;
+ this->prop_string = NULL;
+ this->data = NULL;
+ this->length = 0;
+ this->destructor = NULL;
+ this->serialiser = NULL;
}
/** Set an int on this property.
{
this->types |= mlt_prop_string;
this->prop_string = malloc( 32 );
- sprintf( this->prop_string, "%lld", this->prop_position );
+ sprintf( this->prop_string, "%d", this->prop_position );
}
else if ( this->types & mlt_prop_int64 )
{