comparison scripts/io/textscan.m @ 12679:f38cf6224452 stable

Fix textscan/textread headerlines arg always skipping 2 lines (bug #33028) * textread.m, textscan.m: Fix wrong headerline argument being fed to fskipl. Check & avoid processing zero headerline values.
author Philip Nienhuis <prnienhuis@users.sf.net>
date Sun, 15 May 2011 19:15:50 -0700
parents d0b799dafede
children fe6e2afcd9ee
comparison
equal deleted inserted replaced
12677:bedd0cdb3584 12679:f38cf6224452
79 str = fid; 79 str = fid;
80 else 80 else
81 ## Maybe skip header lines 81 ## Maybe skip header lines
82 headerlines = find (strcmpi (args, "headerlines"), 1); 82 headerlines = find (strcmpi (args, "headerlines"), 1);
83 if (! isempty (headerlines)) 83 if (! isempty (headerlines))
84 fskipl (fid, headerlines); 84 hdr_lines = floor (varargin{headerlines + 1});
85 args(headerlines:headerlines+1) = []; 85 ## Beware of zero valued headerline, fskipl will count lines to EOF
86 if (hdr_lines > 0)
87 fskipl (fid, hdr_lines);
88 endif
86 endif 89 endif
87 if (isfinite (nlines)) 90 if (isfinite (nlines))
88 str = ""; 91 str = "";
89 for n = 1:nlines 92 for n = 1:nlines
90 str = strcat (str, fgets (fid)); 93 str = strcat (str, fgets (fid));