00001 #include <eh_utils.h> 00002 00003 Eh_sequence* 00004 eh_create_sequence( void ) 00005 { 00006 Eh_sequence* s = eh_new( Eh_sequence , 1 ); 00007 s->len = 0; 00008 s->t = NULL; 00009 s->data = NULL; 00010 00011 return s; 00012 } 00013 00014 Eh_sequence* 00015 eh_add_to_sequence( Eh_sequence* s , double t , gpointer data ) 00016 { 00017 eh_require( s!=NULL ); 00018 00019 s->len++; 00020 00021 s->t = g_renew( double , s->t , s->len ); 00022 s->data = g_renew( gpointer , s->data , s->len ); 00023 00024 s->t[s->len-1] = t; 00025 s->data[s->len-1] = data; 00026 00027 return s; 00028 } 00029 00030 void 00031 eh_destroy_sequence( Eh_sequence* s , gboolean free_mem ) 00032 { 00033 gssize i; 00034 if ( s ) 00035 { 00036 if ( free_mem ) 00037 for ( i=0 ; i<s->len ; i++ ) 00038 eh_free( s->data[i] ); 00039 eh_free( s->data ); 00040 eh_free( s->t ); 00041 eh_free( s ); 00042 } 00043 } 00044