summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/tng_io.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/lib/tng_io.c b/src/lib/tng_io.c
index bcfb1d6..1cd2b9d 100644
--- a/src/lib/tng_io.c
+++ b/src/lib/tng_io.c
@@ -4423,7 +4423,7 @@ static tng_function_status tng_update_md5_hash(tng_trajectory_t tng_data,
static tng_function_status tng_update_header_pointers
- (tng_trajectory_t tng_data)
+ (tng_trajectory_t tng_data, const tng_hash_mode hash_mode)
{
struct tng_gen_block block;
FILE *temp = tng_data->input_file;
@@ -4501,7 +4501,10 @@ static tng_function_status tng_update_header_pointers
return(TNG_CRITICAL);
}
- tng_update_md5_hash(tng_data, &block, 0, contents_start_pos);
+ if(hash_mode == TNG_USE_HASH)
+ {
+ tng_update_md5_hash(tng_data, &block, 0, contents_start_pos);
+ }
fseek(tng_data->output_file, tng_data->output_file_pos, SEEK_SET);
@@ -4511,7 +4514,7 @@ static tng_function_status tng_update_header_pointers
}
static tng_function_status tng_update_frame_set_pointers
- (tng_trajectory_t tng_data)
+ (tng_trajectory_t tng_data, const tng_hash_mode hash_mode)
{
struct tng_gen_block block;
struct tng_trajectory_frame_set *frame_set;
@@ -4574,9 +4577,12 @@ static tng_function_status tng_update_frame_set_pointers
tng_data->input_file = temp;
return(TNG_CRITICAL);
}
-
- tng_update_md5_hash(tng_data, &block, header_start_pos,
- contents_start_pos);
+
+ if(hash_mode == TNG_USE_HASH)
+ {
+ tng_update_md5_hash(tng_data, &block, header_start_pos,
+ contents_start_pos);
+ }
fseek(tng_data->output_file, tng_data->output_file_pos, SEEK_SET);
}
@@ -4620,9 +4626,12 @@ static tng_function_status tng_update_frame_set_pointers
return(TNG_CRITICAL);
}
- tng_update_md5_hash(tng_data, &block,
- frame_set->long_stride_prev_frame_set_file_pos,
- contents_start_pos);
+ if(hash_mode == TNG_USE_HASH)
+ {
+ tng_update_md5_hash(tng_data, &block,
+ frame_set->long_stride_prev_frame_set_file_pos,
+ contents_start_pos);
+ }
}
fseek(tng_data->output_file, tng_data->output_file_pos, SEEK_SET);
@@ -6364,11 +6373,11 @@ tng_function_status tng_write_frame_set(tng_trajectory_t tng_data,
tng_data->output_file_pos = ftell(tng_data->output_file);
- stat = tng_update_header_pointers(tng_data);
+ stat = tng_update_header_pointers(tng_data, hash_mode);
if(stat == TNG_SUCCESS)
{
- stat = tng_update_frame_set_pointers(tng_data);
+ stat = tng_update_frame_set_pointers(tng_data, hash_mode);
}
tng_destroy_block(&block);
contact: Jan Huwald // Impressum