bool ecl_sum_same_case( const ecl_sum_type * ecl_sum , const char * input_file ) { bool same_case = false; { char * path; char * base; util_alloc_file_components( input_file , &path , &base , NULL); { bool fmt_file = ecl_smspec_get_formatted( ecl_sum->smspec ); char * header_file = ecl_util_alloc_exfilename( path , base , ECL_SUMMARY_HEADER_FILE , fmt_file , -1 ); if (header_file != NULL) { same_case = util_same_file( header_file , ecl_smspec_get_header_file( ecl_sum->smspec )); free( header_file ); } } util_safe_free( path ); util_safe_free( base ); } return same_case; }
ecl_sum_tstep_type * ecl_sum_tstep_alloc_from_file( int report_step , int ministep_nr , const ecl_kw_type * params_kw , const char * src_file , const ecl_smspec_type * smspec) { int data_size = ecl_kw_get_size( params_kw ); if (data_size == ecl_smspec_get_params_size( smspec )) { ecl_sum_tstep_type * ministep = ecl_sum_tstep_alloc( report_step , ministep_nr , smspec); ecl_kw_get_memcpy_data( params_kw , ministep->data ); ecl_sum_tstep_set_time_info( ministep , smspec ); return ministep; } else { /* This is actually a fatal error / bug; the difference in smspec header structure should have been detected already in the ecl_smspec_load_restart() function and the restart case discarded. */ fprintf(stderr , "** Warning size mismatch between timestep loaded from:%s and header:%s - timestep discarded.\n" , src_file , ecl_smspec_get_header_file( smspec )); return NULL; } }