Mercurial > hg > octave-lyh
diff src/oct-stream.cc @ 5030:160365410ad4
[project @ 2004-09-24 03:22:23 by jwe]
author | jwe |
---|---|
date | Fri, 24 Sep 2004 03:22:24 +0000 |
parents | 25c2664861bc |
children | 1312d3af9eb0 |
line wrap: on
line diff
--- a/src/oct-stream.cc +++ b/src/oct-stream.cc @@ -2780,8 +2780,6 @@ RET_T nda; - bool ok = true; - count = 0; typename octave_array_type_traits<RET_T>::element_type elt_zero @@ -2792,7 +2790,7 @@ int max_size = 0; int final_nr = 0; - int final_nc = 0; + int final_nc = 1; if (nr > 0) { @@ -2873,78 +2871,64 @@ typename octave_array_type_traits<RET_T>::element_type tmp = static_cast <typename octave_array_type_traits<RET_T>::element_type> (u.val); - if (ok) + if (is) { - if (is) + if (count == max_size) { - if (count == max_size) - { - max_size *= 2; - - if (nr > 0) - nda.resize (dim_vector (nr, max_size / nr), - elt_zero); - else - nda.resize (dim_vector (max_size, 1), elt_zero); - - dat = nda.fortran_vec (); - } - - dat[count++] = tmp; - - elts_read++; + max_size *= 2; + + if (nr > 0) + nda.resize (dim_vector (nr, max_size / nr), + elt_zero); + else + nda.resize (dim_vector (max_size, 1), elt_zero); + + dat = nda.fortran_vec (); } - if (skip != 0 && elts_read == block_size) + dat[count++] = tmp; + + elts_read++; + } + + if (skip != 0 && elts_read == block_size) + { + strm.seek (skip, SEEK_CUR); + elts_read = 0; + } + + if (is.eof ()) + { + if (nr > 0) { - strm.seek (skip, SEEK_CUR); - elts_read = 0; - } - - if (is.eof ()) - { - if (nr > 0) + if (count > nr) { - if (count > nr) - { - final_nr = nr; - final_nc = (count - 1) / nr + 1; - } - else - { - final_nr = count; - final_nc = 1; - } + final_nr = nr; + final_nc = (count - 1) / nr + 1; } else { final_nr = count; final_nc = 1; } - - break; } - } - else - { - ok = false; + else + { + final_nr = count; + final_nc = 1; + } + break; } } - else - { - ok = false; - break; - } + else if (is.eof ()) + break; } } - if (ok) - { - nda.resize (dim_vector (final_nr, final_nc), elt_zero); - - retval = nda; - } + nda.resize (dim_vector (final_nr, final_nc), elt_zero); + + retval = nda; return retval; }