Mercurial > hg > minc-tools
changeset 2494:04d0fb05f230
fix a bug in output_mnc.c for output buffers for a slice
author | claude <claude> |
---|---|
date | Fri, 06 Nov 2009 19:42:33 +0000 (2009-11-06) |
parents | aaf8cc96fda0 |
children | ba409fa1d6c0 |
files | volume_io/Volumes/input_mnc.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/volume_io/Volumes/input_mnc.c +++ b/volume_io/Volumes/input_mnc.c @@ -589,15 +589,17 @@ file->n_slab_dims = 0; slab_size = 1; int unit_size = get_type_size( get_volume_data_type(volume) ); + int full_dim = 1; for( d = file->n_file_dimensions-1; d >= 0; d-- ) { if( file->to_volume_index[d] != INVALID_AXIS ) { - if( MI_MAX_VAR_BUFFER_SIZE > file->sizes_in_file[d] * slab_size * unit_size ) { + if( MI_MAX_VAR_BUFFER_SIZE > file->sizes_in_file[d] * slab_size * unit_size && full_dim ) { slab_size *= file->sizes_in_file[d]; file->n_slab_dims++; /* integral number of complete dimensions */ } else { slab_size *= MIN( file->sizes_in_file[d], (hsize_t)( MI_MAX_VAR_BUFFER_SIZE / ( slab_size * unit_size ) ) ); + full_dim = 0; } } }