changeset 17463:cc13924a4266 ss-3-7-7

snapshot 3.7.7 * configure.ac (OCTAVE_VERSION): Bump to 3.7.7.
author John W. Eaton <jwe@octave.org>
date Mon, 23 Sep 2013 13:31:02 -0400
parents 177147bf7b55
children fd01c78caa0b
files configure.ac libinterp/corefcn/oct-stream.cc
diffstat 2 files changed, 42 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Mon Sep 23 08:55:19 2013 -0700
+++ b/configure.ac	Mon Sep 23 13:31:02 2013 -0400
@@ -19,13 +19,13 @@
 ### <http://www.gnu.org/licenses/>.
 
 AC_PREREQ([2.62])
-AC_INIT([GNU Octave], [3.7.6+], [http://octave.org/bugs.html], [octave])
+AC_INIT([GNU Octave], [3.7.7], [http://octave.org/bugs.html], [octave])
 
 dnl PACKAGE_VERSION is set by the AC_INIT VERSION arg
 OCTAVE_VERSION="$PACKAGE_VERSION"
 OCTAVE_API_VERSION_NUMBER="48"
 OCTAVE_API_VERSION="api-v$OCTAVE_API_VERSION_NUMBER+"
-OCTAVE_RELEASE_DATE="2013-08-20"
+OCTAVE_RELEASE_DATE="2013-09-23"
 OCTAVE_COPYRIGHT="Copyright (C) 2013 John W. Eaton and others."
 AC_SUBST(OCTAVE_VERSION)
 AC_SUBST(OCTAVE_API_VERSION_NUMBER)
--- a/libinterp/corefcn/oct-stream.cc	Mon Sep 23 08:55:19 2013 -0700
+++ b/libinterp/corefcn/oct-stream.cc	Mon Sep 23 13:31:02 2013 -0400
@@ -2980,21 +2980,47 @@
     {
       SRC_T *data = static_cast<SRC_T *> (*it);
 
-      for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read; i++, j++)
+      if (swap || do_float_fmt_conv)
         {
-          if (swap)
-            swap_bytes<sizeof (SRC_T)> (&data[i]);
-          else if (do_float_fmt_conv)
-            do_float_format_conversion (&data[i], sizeof (SRC_T),
-                                        1, from_flt_fmt,
-                                        oct_mach_info::float_format ());
-
-          dst_elt_type tmp (data[i]);
-
-          if (do_NA_conv && __lo_ieee_is_old_NA (tmp))
-            tmp = __lo_ieee_replace_old_NA (tmp);
-
-          conv_data[j] = tmp;
+          for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read;
+               i++, j++)
+            {
+              if (swap)
+                swap_bytes<sizeof (SRC_T)> (&data[i]);
+              else if (do_float_fmt_conv)
+                do_float_format_conversion (&data[i], sizeof (SRC_T),
+                                            1, from_flt_fmt,
+                                            oct_mach_info::float_format ());
+
+              dst_elt_type tmp (data[i]);
+
+              if (do_NA_conv && __lo_ieee_is_old_NA (tmp))
+                tmp = __lo_ieee_replace_old_NA (tmp);
+
+              conv_data[j] = tmp;
+            }
+        }
+      else
+        {
+          if (do_NA_conv)
+            {
+              for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read;
+                   i++, j++)
+                {
+                  dst_elt_type tmp (data[i]);
+
+                  if (__lo_ieee_is_old_NA (tmp))
+                    tmp = __lo_ieee_replace_old_NA (tmp);
+
+                  conv_data[j] = tmp;
+                }
+            }
+          else
+            {
+              for (octave_idx_type i = 0; i < input_buf_elts && j < elts_read;
+                   i++, j++)
+                conv_data[j] = data[i];
+            }
         }
 
       delete [] data;
@@ -3017,7 +3043,6 @@
 #define TABLE_ELT(T, U, V, W) \
   conv_fptr_table[oct_data_conv::T][oct_data_conv::U] = convert_and_copy<V, W>
 
-#undef FILL_TABLE_ROW
 #define FILL_TABLE_ROW(T, V) \
   TABLE_ELT (T, dt_int8, V, int8NDArray); \
   TABLE_ELT (T, dt_uint8, V, uint8NDArray); \