void gen_kw_read_from_buffer(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 ); ert_impl_type file_type; file_type = buffer_fread_int(buffer); if ((file_type == GEN_KW) || (file_type == MULTFLT)) buffer_fread(buffer , gen_kw->data , sizeof *gen_kw->data , data_size); }
void stringlist_buffer_fread( stringlist_type * s , buffer_type * buffer ) { int size = buffer_fread_int( buffer ); int i; stringlist_clear(s); for (i=0; i < size; i++) stringlist_append_owned_ref( s , buffer_fread_alloc_string( buffer )); }
void @TYPE@_vector_buffer_fread(@TYPE@_vector_type * vector , buffer_type * buffer) { @TYPE@ default_value; int size = buffer_fread_int( buffer ); buffer_fread( buffer , &default_value , sizeof default_value , 1 ); @TYPE@_vector_set_default( vector , default_value ); @TYPE@_vector_resize( vector , size ); buffer_fread( buffer , vector->data , sizeof * vector->data , size ); vector->size = size; }
const char * buffer_fread_string(buffer_type * buffer) { int string_length = buffer_fread_int( buffer ); char * string_ptr = &buffer->data[buffer->pos]; char c; buffer_fskip( buffer , string_length ); c = buffer_fread_char( buffer ); if (c != '\0') util_abort("%s: internal error - malformed string representation in buffer \n",__func__); return string_ptr; }
void int_vector_buffer_fread(int_vector_type * vector , buffer_type * buffer) { int default_value; int size = buffer_fread_int( buffer ); buffer_fread( buffer , &default_value , sizeof default_value , 1 ); int_vector_set_default( vector , default_value ); int_vector_realloc_data__( vector , size ); buffer_fread( buffer , vector->data , sizeof * vector->data , size ); vector->size = size; }
void gen_data_read_from_buffer(gen_data_type * gen_data , buffer_type * buffer , int report_step, state_enum state) { int size; enkf_util_assert_buffer_type(buffer , GEN_DATA); size = buffer_fread_int(buffer); buffer_fskip_int( buffer ); /* Skipping report_step from the buffer - was a mistake to store it - I think ... */ { size_t byte_size = size * ecl_util_get_sizeof_ctype( gen_data_config_get_internal_type ( gen_data->config )); size_t compressed_size = buffer_get_remaining_size( buffer ); gen_data->data = util_realloc( gen_data->data , byte_size ); buffer_fread_compressed( buffer , compressed_size , gen_data->data , byte_size ); } gen_data_assert_size( gen_data , size , report_step ); gen_data_config_load_active( gen_data->config , report_step , false ); }