Mercurial > hg > octave-nkf
diff scripts/io/strread.m @ 16571:4d8462fe15b9
strread.m: catch unknown format specifiers (bug #38834)
author | Philip Nienhuis <prnienhuis@users.sf.net> |
---|---|
date | Fri, 26 Apr 2013 14:25:09 +0200 |
parents | 61989cde13ae |
children | b7667fcb9fbc |
line wrap: on
line diff
--- a/scripts/io/strread.m +++ b/scripts/io/strread.m @@ -315,6 +315,11 @@ for jj = 1:numel (a) ## From right to left to avoid losing track ii = numel (a) - jj + 1; + ## Check for illegal format specifiers + if (isempty (b{ii})) + error ("strread: unknown format specifier #%d ('%s')\n", + ii, fmt_words{idy2(ii)}); + endif if (! (length (fmt_words{idy2(ii)}) == b{ii}(1))) ## Split fmt_words(ii) into % conv specifier and trailing literal fmt_words(idy2(ii)+1 : end+1) = fmt_words(idy2(ii) : end); @@ -985,3 +990,7 @@ %!error <format specifiers are not supported> strread ("a", "%*f64 %s") %!error <format specifiers are not supported> strread ("a", "%u32") %!error <format specifiers are not supported> strread ("a", "%*u32 %d") + +%% Illegal format specifiers +%!test +%!error <unknown format specifier> strread ("1.0", "%z")