changeset 22621:e7699adac1d0

Do a better job of delimiter auto-dedection in dlmread (bug #42022). * dlmread.cc (Fdlmread): Look for "ANY_TEXT[delimiter]" rather than "NUMBER[delimiter]".
author Rik <rik@octave.org>
date Fri, 14 Oct 2016 06:59:29 -0700
parents 74fb14727a30
children 4191f8b5070c
files libinterp/corefcn/dlmread.cc
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/dlmread.cc	Thu Oct 13 08:20:10 2016 -0700
+++ b/libinterp/corefcn/dlmread.cc	Fri Oct 14 06:59:29 2016 -0700
@@ -302,8 +302,10 @@
       // correspond to whitespace as delimter.
       if (! sep.length ())
         {
-          size_t n = line.find_first_of (",:; \t",
-                                         line.find_first_of ("0123456789"));
+          // Skip leading whitespace.
+          size_t pos1 = line.find_first_not_of (" \t");
+
+          size_t n = line.find_first_of (",:; \t", pos1);
           if (n == std::string::npos)
             {
               sep = " \t";