{
property_list *list = self->local;
+#if defined(__linux__) || defined(__DARWIN__)
if ( list->locale )
freelocale( list->locale );
list->locale = newlocale( LC_NUMERIC, locale, NULL );
+#endif
error = list->locale == NULL;
}
else
free( list->name[ index ] );
}
+#if defined(__linux__) || defined(__DARWIN__)
// Cleanup locale
if ( list->locale )
freelocale( list->locale );
+#endif
// Clear up the list
pthread_mutex_destroy( &list->mutex );
return ( double )self->prop_position;
else if ( self->types & mlt_prop_int64 )
return ( double )self->prop_int64;
+#if defined(__linux__) || defined(__DARWIN__)
else if ( locale && ( self->types & mlt_prop_string ) && self->prop_string )
return strtod_l( self->prop_string, NULL, locale );
+#endif
else if ( ( self->types & mlt_prop_string ) && self->prop_string )
return strtod( self->prop_string, NULL );
return 0;
#define _MLT_PROPERTY_H_
#include "mlt_types.h"
+
+#if defined(__linux__) || defined(__DARWIN__)
#include <xlocale.h>
+#else
+typedef void* locale_t;
+#endif
extern mlt_property mlt_property_init( );
extern int mlt_property_set_int( mlt_property self, int value );