changeset 12070:86693dfd7277 octave-forge

Check if filename (1st arg) is text string
author prnienhuis
date Fri, 27 Sep 2013 18:04:31 +0000
parents 0bb773b19abf
children 5d8d8f5cea8e
files main/io/inst/odsread.m main/io/inst/xlsread.m
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/main/io/inst/odsread.m	Fri Sep 27 18:03:58 2013 +0000
+++ b/main/io/inst/odsread.m	Fri Sep 27 18:04:31 2013 +0000
@@ -121,10 +121,14 @@
 ## 2012-06-08 Tabs replaced by double space
 ## 2012-10-24 Style fixes
 ## 2013-09-24 Drop requirement of having at least one output arg
+## 2013-09-27 Check for proper filename in input
 
 function [ numarr, txtarr, rawarr, lim ] = odsread (filename, wsh=1, datrange=[], reqintf=[])
 
-  if (nargin < 1 || isempty (findstr (".ods", tolower (filename))))
+  if (! ischar (filename))
+    error ("filename (text string) expected for argument #1, not a %s", class (filename));
+  endif
+  if (nargin < 1 || isempty (findstr (".ods", lower (filename))))
     usage ("odsread: at least a filename incl. suffix is needed");
   endif
 
--- a/main/io/inst/xlsread.m	Fri Sep 27 18:03:58 2013 +0000
+++ b/main/io/inst/xlsread.m	Fri Sep 27 18:04:31 2013 +0000
@@ -146,6 +146,7 @@
 ## 2012-03-07 Updated texinfo help header
 ## 2012-10-24 Style fixes
 ## 2013-09-24 Drop requirement of having at least one output arg
+## 2013-09-27 Check for proper filename in input
 
 function [ numarr, txtarr, rawarr, lims ] = xlsread (fn, wsh, datrange, reqintf=[])
 
@@ -155,6 +156,8 @@
 		error ("xlsread: no input arguments specified") 
 		numarr = []; txtarr={}; rawarr = {};
 		return
+  elseif (! ischar (filename))
+    error ("filename (text string) expected for argument #1, not a %s", class (filename));
 	elseif (nargin == 1)
 		wsh = 1;
 		datrange = "";