void stringlist_buffer_fwrite( const stringlist_type * s , buffer_type * buffer ) { int i; int size = stringlist_get_size( s ); buffer_fwrite_int( buffer , size ); for (i=0; i < size; i++) buffer_fwrite_string(buffer , stringlist_iget(s , i) ); }
bool summary_write_to_buffer(const summary_type * summary , buffer_type * buffer, int report_step , state_enum state) { buffer_fwrite_int( buffer , SUMMARY ); if (summary->vector_storage) { double_vector_type * storage_vector = SELECT_VECTOR( summary , state ); double_vector_buffer_fwrite( storage_vector , buffer ); } else { int size = summary_config_get_data_size( summary->config ); buffer_fwrite( buffer , summary->data , sizeof * summary->data , size); } return true; }
bool gen_data_write_to_buffer(const gen_data_type * gen_data , buffer_type * buffer , int report_step) { const bool write_zero_size = true; /* true:ALWAYS write a file false:only write files with size > 0. */ { bool write = write_zero_size; int size = gen_data_config_get_data_size( gen_data->config , report_step ); if (size > 0) write = true; if (write) { int byte_size = gen_data_config_get_byte_size( gen_data->config , report_step ); buffer_fwrite_int( buffer , GEN_DATA ); buffer_fwrite_int( buffer , size ); buffer_fwrite_int( buffer , report_step); /* Why the heck do I need to store this ???? It was a mistake ...*/ buffer_fwrite_compressed( buffer , gen_data->data , byte_size); return true; } else return false; /* When false is returned - the (empty) file will be removed */ } }
void @TYPE@_vector_buffer_fwrite(const @TYPE@_vector_type * vector , buffer_type * buffer) { buffer_fwrite_int( buffer , vector->size ); buffer_fwrite( buffer , &vector->default_value , sizeof vector->default_value , 1 ); buffer_fwrite( buffer , vector->data , sizeof * vector->data , vector->size ); }
bool gen_kw_write_to_buffer(const gen_kw_type *gen_kw , buffer_type * buffer, int report_step, state_enum state) { const int data_size = gen_kw_config_get_data_size( gen_kw->config ); buffer_fwrite_int( buffer , GEN_KW ); buffer_fwrite(buffer , gen_kw->data , sizeof *gen_kw->data , data_size); return true; }
/** Observe that this function writes a leading integer string length. */ void buffer_fwrite_string(buffer_type * buffer , const char * string) { buffer_fwrite_int( buffer , strlen( string )); /* Writing the length of the string */ buffer_fwrite(buffer , string , 1 , strlen( string ) + 1); /* Writing the string content ** WITH ** the terminating \0 */ }
bool ecl_static_kw_write_to_buffer(const ecl_static_kw_type * ecl_static_kw , buffer_type * buffer, int report_step , state_enum state) { buffer_fwrite_int( buffer , STATIC ); ecl_kw_buffer_store( ecl_static_kw->ecl_kw , buffer); return true; }