Mercurial > octave
diff libinterp/corefcn/file-io.cc @ 20805:2d6ddb2b157c
eliminate return statements after calls to print_usage
* file-io.cc, mappers.cc:
Eliminate return statements after calls to print_usage.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 04 Dec 2015 14:53:09 -0500 |
parents | b6f2909e7f94 |
children | d9ca869ca124 |
line wrap: on
line diff
--- a/libinterp/corefcn/file-io.cc Fri Dec 04 13:16:59 2015 -0500 +++ b/libinterp/corefcn/file-io.cc Fri Dec 04 14:53:09 2015 -0500 @@ -244,16 +244,10 @@ @seealso{fopen, fflush, freport}\n\ @end deftypefn") { - octave_value retval = -1; - - int nargin = args.length (); - - if (nargin == 1) - retval = octave_stream_list::remove (args(0), "fclose"); - else + if (args.length () != 1) print_usage (); - return retval; + return octave_value (octave_stream_list::remove (args(0), "fclose")); } DEFUN (fclear, args, , @@ -266,18 +260,14 @@ { octave_value retval; - int nargin = args.length (); - - if (nargin == 1) - { - int fid = octave_stream_list::get_file_number (args(0)); + if (args.length () != 1) + print_usage (); - octave_stream os = octave_stream_list::lookup (fid, "fclear"); + int fid = octave_stream_list::get_file_number (args(0)); - os.clearerr (); - } - else - print_usage (); + octave_stream os = octave_stream_list::lookup (fid, "fclear"); + + os.clearerr (); return retval; } @@ -299,29 +289,25 @@ { octave_value retval = -1; - int nargin = args.length (); + if (args.length () != 1) + print_usage (); - if (nargin == 1) - { - // FIXME: any way to avoid special case for stdout? - - int fid = octave_stream_list::get_file_number (args(0)); + // FIXME: any way to avoid special case for stdout? - if (fid == 1) - { - flush_octave_stdout (); + int fid = octave_stream_list::get_file_number (args(0)); - retval = 0; - } - else - { - octave_stream os = octave_stream_list::lookup (fid, "fflush"); + if (fid == 1) + { + flush_octave_stdout (); - retval = os.flush (); - } + retval = 0; } else - print_usage (); + { + octave_stream os = octave_stream_list::lookup (fid, "fflush"); + + retval = os.flush (); + } return retval; } @@ -348,29 +334,27 @@ octave_value_list retval; + int nargin = args.length (); + + if (nargin < 1 || nargin > 2) + print_usage (); + retval(1) = 0; retval(0) = -1; - int nargin = args.length (); + octave_stream os = octave_stream_list::lookup (args(0), who); - if (nargin == 1 || nargin == 2) - { - octave_stream os = octave_stream_list::lookup (args(0), who); + octave_value len_arg = (nargin == 2) ? args(1) : octave_value (); - octave_value len_arg = (nargin == 2) ? args(1) : octave_value (); - - bool err = false; + bool err = false; - std::string tmp = os.getl (len_arg, err, who); + std::string tmp = os.getl (len_arg, err, who); - if (! err) - { - retval(1) = tmp.length (); - retval(0) = tmp; - } + if (! err) + { + retval(1) = tmp.length (); + retval(0) = tmp; } - else - print_usage (); return retval; } @@ -397,29 +381,27 @@ octave_value_list retval; + int nargin = args.length (); + + if (nargin < 1 || nargin > 2) + print_usage (); + retval(1) = 0.0; retval(0) = -1.0; - int nargin = args.length (); + octave_stream os = octave_stream_list::lookup (args(0), who); - if (nargin == 1 || nargin == 2) - { - octave_stream os = octave_stream_list::lookup (args(0), who); + octave_value len_arg = (nargin == 2) ? args(1) : octave_value (); - octave_value len_arg = (nargin == 2) ? args(1) : octave_value (); - - bool err = false; + bool err = false; - std::string tmp = os.gets (len_arg, err, who); + std::string tmp = os.gets (len_arg, err, who); - if (! err) - { - retval(1) = tmp.length (); - retval(0) = tmp; - } + if (! err) + { + retval(1) = tmp.length (); + retval(0) = tmp; } - else - print_usage (); return retval; } @@ -449,21 +431,19 @@ int nargin = args.length (); - if (nargin == 1 || nargin == 2) - { - octave_stream os = octave_stream_list::lookup (args(0), who); + if (nargin < 1 || nargin > 2) + print_usage (); - octave_value count_arg = (nargin == 2) ? args(1) : octave_value (); + octave_stream os = octave_stream_list::lookup (args(0), who); - bool err = false; + octave_value count_arg = (nargin == 2) ? args(1) : octave_value (); - off_t tmp = os.skipl (count_arg, err, who); + bool err = false; - if (! err) - retval = tmp; - } - else - print_usage (); + off_t tmp = os.skipl (count_arg, err, who); + + if (! err) + retval = tmp; return retval; } @@ -757,16 +737,12 @@ int result = -1; - int nargin = args.length (); + if (args.length () != 1) + print_usage (); - if (nargin == 1) - { - octave_stream os = octave_stream_list::lookup (args(0), "frewind"); + octave_stream os = octave_stream_list::lookup (args(0), "frewind"); - result = os.rewind (); - } - else - print_usage (); + result = os.rewind (); if (nargout > 0) retval = result; @@ -797,17 +773,15 @@ int nargin = args.length (); - if (nargin == 2 || nargin == 3) - { - octave_stream os = octave_stream_list::lookup (args(0), "fseek"); + if (nargin < 2 || nargin > 3) + print_usage (); + + octave_stream os = octave_stream_list::lookup (args(0), "fseek"); - octave_value origin_arg = (nargin == 3) - ? args(2) : octave_value (-1.0); + octave_value origin_arg = (nargin == 3) + ? args(2) : octave_value (-1.0); - retval = os.seek (args(1), origin_arg); - } - else - print_usage (); + retval = os.seek (args(1), origin_arg); return retval; } @@ -822,16 +796,12 @@ { octave_value retval = -1; - int nargin = args.length (); + if (args.length () != 1) + print_usage (); - if (nargin == 1) - { - octave_stream os = octave_stream_list::lookup (args(0), "ftell"); + octave_stream os = octave_stream_list::lookup (args(0), "ftell"); - retval = os.tell (); - } - else - print_usage (); + retval = os.tell (); return retval; } @@ -863,40 +833,38 @@ int nargin = args.length (); - if (nargin > 1 || (nargin > 0 && args(0).is_string ())) + if (! (nargin > 1 || (nargin > 0 && args(0).is_string ()))) + print_usage (); + + octave_stream os; + int fmt_n = 0; + + if (args(0).is_string ()) { - octave_stream os; - int fmt_n = 0; + os = octave_stream_list::lookup (1, who); + } + else + { + fmt_n = 1; + os = octave_stream_list::lookup (args(0), who); + } - if (args(0).is_string ()) + if (args(fmt_n).is_string ()) + { + octave_value_list tmp_args; + + if (nargin > 1 + fmt_n) { - os = octave_stream_list::lookup (1, who); - } - else - { - fmt_n = 1; - os = octave_stream_list::lookup (args(0), who); + tmp_args.resize (nargin-fmt_n-1, octave_value ()); + + for (int i = fmt_n + 1; i < nargin; i++) + tmp_args(i-fmt_n-1) = args(i); } - if (args(fmt_n).is_string ()) - { - octave_value_list tmp_args; - - if (nargin > 1 + fmt_n) - { - tmp_args.resize (nargin-fmt_n-1, octave_value ()); - - for (int i = fmt_n + 1; i < nargin; i++) - tmp_args(i-fmt_n-1) = args(i); - } - - result = os.printf (args(fmt_n), tmp_args, who); - } - else - error ("%s: format TEMPLATE must be a string", who.c_str ()); + result = os.printf (args(fmt_n), tmp_args, who); } else - print_usage (); + error ("%s: format TEMPLATE must be a string", who.c_str ()); if (nargout > 0) retval = result; @@ -930,27 +898,25 @@ int nargin = args.length (); - if (nargin > 0) + if (nargin == 0) + print_usage (); + + if (args(0).is_string ()) { - if (args(0).is_string ()) - { - octave_value_list tmp_args; + octave_value_list tmp_args; - if (nargin > 1) - { - tmp_args.resize (nargin-1, octave_value ()); + if (nargin > 1) + { + tmp_args.resize (nargin-1, octave_value ()); - for (int i = 1; i < nargin; i++) - tmp_args(i-1) = args(i); - } + for (int i = 1; i < nargin; i++) + tmp_args(i-1) = args(i); + } - result = stdout_stream.printf (args(0), tmp_args, who); - } - else - error ("%s: format TEMPLATE must be a string", who.c_str ()); + result = stdout_stream.printf (args(0), tmp_args, who); } else - print_usage (); + error ("%s: format TEMPLATE must be a string", who.c_str ()); if (nargout > 0) retval = result; @@ -974,20 +940,12 @@ { static std::string who = "fputs"; - octave_value retval = -1; - - int nargin = args.length (); - - if (nargin == 2) - { - octave_stream os = octave_stream_list::lookup (args(0), who); - - retval = os.puts (args(1), who); - } - else + if (args.length () != 2) print_usage (); - return retval; + octave_stream os = octave_stream_list::lookup (args(0), who); + + return octave_value (os.puts (args(1), who)); } DEFUN (puts, args, , @@ -1005,14 +963,10 @@ { static std::string who = "puts"; - octave_value retval = -1; - - if (args.length () == 1) - retval = stdout_stream.puts (args(0), who); - else + if (args.length () != 1) print_usage (); - return retval; + return octave_value (stdout_stream.puts (args(0), who)); } DEFUN (sprintf, args, , @@ -1037,50 +991,48 @@ int nargin = args.length (); - if (nargin > 0) - { - retval(2) = -1.0; - retval(1) = "unknown error"; - retval(0) = ""; + if (nargin == 0) + print_usage (); - octave_ostrstream *ostr = new octave_ostrstream (); + retval(2) = -1.0; + retval(1) = "unknown error"; + retval(0) = ""; - octave_stream os (ostr); + octave_ostrstream *ostr = new octave_ostrstream (); + + octave_stream os (ostr); - if (os.is_valid ()) - { - octave_value fmt_arg = args(0); - - if (fmt_arg.is_string ()) - { - octave_value_list tmp_args; + if (os.is_valid ()) + { + octave_value fmt_arg = args(0); - if (nargin > 1) - { - tmp_args.resize (nargin-1, octave_value ()); + if (fmt_arg.is_string ()) + { + octave_value_list tmp_args; - for (int i = 1; i < nargin; i++) - tmp_args(i-1) = args(i); - } + if (nargin > 1) + { + tmp_args.resize (nargin-1, octave_value ()); - retval(2) = os.printf (fmt_arg, tmp_args, who); - retval(1) = os.error (); + for (int i = 1; i < nargin; i++) + tmp_args(i-1) = args(i); + } - std::string result = ostr->str (); - char type = fmt_arg.is_sq_string () ? '\'' : '"'; + retval(2) = os.printf (fmt_arg, tmp_args, who); + retval(1) = os.error (); - retval(0) = (result.empty () - ? octave_value (charMatrix (1, 0), type) - : octave_value (result, type)); - } - else - error ("%s: format TEMPLATE must be a string", who.c_str ()); + std::string result = ostr->str (); + char type = fmt_arg.is_sq_string () ? '\'' : '"'; + + retval(0) = (result.empty () + ? octave_value (charMatrix (1, 0), type) + : octave_value (result, type)); } else - error ("%s: unable to create output buffer", who.c_str ()); + error ("%s: format TEMPLATE must be a string", who.c_str ()); } else - print_usage (); + error ("%s: unable to create output buffer", who.c_str ()); return retval; } @@ -1141,6 +1093,9 @@ int nargin = args.length (); + if (nargin < 2 || nargin > 3) + print_usage (); + if (nargin == 3 && args(2).is_string ()) { octave_stream os = octave_stream_list::lookup (args(0), who); @@ -1156,30 +1111,25 @@ retval(1) = 0.0; retval(0) = Matrix (); - if (nargin == 2 || nargin == 3) - { - octave_stream os = octave_stream_list::lookup (args(0), who); + octave_stream os = octave_stream_list::lookup (args(0), who); - if (args(1).is_string ()) - { - octave_idx_type count = 0; + if (args(1).is_string ()) + { + octave_idx_type count = 0; - Array<double> size = (nargin == 3) - ? args(2).vector_value () - : Array<double> (dim_vector (1, 1), - lo_ieee_inf_value ()); - - octave_value tmp = os.scanf (args(1), size, count, who); + Array<double> size = (nargin == 3) + ? args(2).vector_value () + : Array<double> (dim_vector (1, 1), + lo_ieee_inf_value ()); - retval(2) = os.error (); - retval(1) = count; - retval(0) = tmp; - } - else - error ("%s: format must be a string", who.c_str ()); + octave_value tmp = os.scanf (args(1), size, count, who); + + retval(2) = os.error (); + retval(1) = count; + retval(0) = tmp; } else - print_usage (); + error ("%s: format must be a string", who.c_str ()); } return retval; @@ -1221,6 +1171,9 @@ int nargin = args.length (); + if (nargin < 2 || nargin > 3) + print_usage (); + if (nargin == 3 && args(2).is_string ()) { std::string data = get_sscanf_data (args(0)); @@ -1239,50 +1192,45 @@ } else { - if (nargin == 2 || nargin == 3) - { - retval(3) = -1.0; - retval(2) = "unknown error"; - retval(1) = 0.0; - retval(0) = Matrix (); + retval(3) = -1.0; + retval(2) = "unknown error"; + retval(1) = 0.0; + retval(0) = Matrix (); + + std::string data = get_sscanf_data (args(0)); - std::string data = get_sscanf_data (args(0)); - - octave_stream os = octave_istrstream::create (data); + octave_stream os = octave_istrstream::create (data); - if (os.is_valid ()) + if (os.is_valid ()) + { + if (args(1).is_string ()) { - if (args(1).is_string ()) - { - octave_idx_type count = 0; + octave_idx_type count = 0; - Array<double> size = (nargin == 3) - ? args(2).vector_value () - : Array<double> (dim_vector (1, 1), - lo_ieee_inf_value ()); + Array<double> size = (nargin == 3) + ? args(2).vector_value () + : Array<double> (dim_vector (1, 1), + lo_ieee_inf_value ()); - octave_value tmp = os.scanf (args(1), size, count, who); + octave_value tmp = os.scanf (args(1), size, count, who); - // FIXME: is this the right thing to do? - // Extract error message first, because getting - // position will clear it. - std::string errmsg = os.error (); + // FIXME: is this the right thing to do? + // Extract error message first, because getting + // position will clear it. + std::string errmsg = os.error (); - retval(3) = (os.eof () ? data.length () : os.tell ()) + 1; - retval(2) = errmsg; - retval(1) = count; - retval(0) = tmp; - } - else - error ("%s: format TEMPLATE must be a string", - who.c_str ()); + retval(3) = (os.eof () ? data.length () : os.tell ()) + 1; + retval(2) = errmsg; + retval(1) = count; + retval(0) = tmp; } else - error ("%s: unable to create temporary input buffer", - who.c_str ()); + error ("%s: format TEMPLATE must be a string", + who.c_str ()); } else - print_usage (); + error ("%s: unable to create temporary input buffer", + who.c_str ()); } return retval; @@ -1529,46 +1477,44 @@ int nargin = args.length (); - if (nargin > 0 && nargin < 6) - { - retval(1) = -1.0; - retval(0) = Matrix (); + if (nargin < 1 || nargin > 5) + print_usage (); - octave_stream os = octave_stream_list::lookup (args(0), "fread"); + retval(1) = -1.0; + retval(0) = Matrix (); + + octave_stream os = octave_stream_list::lookup (args(0), "fread"); - octave_value size = lo_ieee_inf_value (); - octave_value prec = "uchar"; - octave_value skip = 0; - octave_value arch = "unknown"; + octave_value size = lo_ieee_inf_value (); + octave_value prec = "uchar"; + octave_value skip = 0; + octave_value arch = "unknown"; - int idx = 1; + int idx = 1; - if (nargin > idx && ! args(idx).is_string ()) - size = args(idx++); - - if (nargin > idx) - prec = args(idx++); + if (nargin > idx && ! args(idx).is_string ()) + size = args(idx++); - if (nargin > idx) - skip = args(idx++); + if (nargin > idx) + prec = args(idx++); + + if (nargin > idx) + skip = args(idx++); - if (nargin > idx) - arch = args(idx++); - else if (skip.is_string ()) - { - arch = skip; - skip = 0; - } + if (nargin > idx) + arch = args(idx++); + else if (skip.is_string ()) + { + arch = skip; + skip = 0; + } - octave_idx_type count = -1; - - octave_value tmp = do_fread (os, size, prec, skip, arch, count); + octave_idx_type count = -1; - retval(1) = count; - retval(0) = tmp; - } - else - print_usage (); + octave_value tmp = do_fread (os, size, prec, skip, arch, count); + + retval(1) = count; + retval(0) = tmp; return retval; } @@ -1633,44 +1579,36 @@ @seealso{fread, fputs, fprintf, fopen}\n\ @end deftypefn") { - octave_value retval = -1; - int nargin = args.length (); - if (nargin > 1 && nargin < 6) - { - octave_stream os = octave_stream_list::lookup (args(0), "fwrite"); - - octave_value prec = "uchar"; - octave_value skip = 0; - octave_value arch = "unknown"; - - int idx = 1; - - octave_value data = args(idx++); - - if (nargin > idx) - prec = args(idx++); - - if (nargin > idx) - skip = args(idx++); - - if (nargin > idx) - arch = args(idx++); - else if (skip.is_string ()) - { - arch = skip; - skip = 0; - } - - double status = do_fwrite (os, data, prec, skip, arch); - - retval = status; - } - else + if (nargin < 2 || nargin > 5) print_usage (); - return retval; + octave_stream os = octave_stream_list::lookup (args(0), "fwrite"); + + octave_value prec = "uchar"; + octave_value skip = 0; + octave_value arch = "unknown"; + + int idx = 1; + + octave_value data = args(idx++); + + if (nargin > idx) + prec = args(idx++); + + if (nargin > idx) + skip = args(idx++); + + if (nargin > idx) + arch = args(idx++); + else if (skip.is_string ()) + { + arch = skip; + skip = 0; + } + + return octave_value (do_fwrite (os, data, prec, skip, arch)); } DEFUNX ("feof", Ffeof, args, , @@ -1685,20 +1623,12 @@ @seealso{fread, frewind, fseek, fclear, fopen}\n\ @end deftypefn") { - octave_value retval = -1; - - int nargin = args.length (); - - if (nargin == 1) - { - octave_stream os = octave_stream_list::lookup (args(0), "feof"); - - retval = os.eof () ? 1.0 : 0.0; - } - else + if (args.length () != 1) print_usage (); - return retval; + octave_stream os = octave_stream_list::lookup (args(0), "feof"); + + return octave_value (os.eof () ? 1.0 : 0.0); } DEFUNX ("ferror", Fferror, args, , @@ -1726,28 +1656,26 @@ int nargin = args.length (); - if (nargin == 1 || nargin == 2) - { - octave_stream os = octave_stream_list::lookup (args(0), "ferror"); + if (nargin < 1 || nargin > 2) + print_usage (); - bool clear = false; + octave_stream os = octave_stream_list::lookup (args(0), "ferror"); - if (nargin == 2) - { - std::string opt = args(1).string_value (); + bool clear = false; - clear = (opt == "clear"); - } + if (nargin == 2) + { + std::string opt = args(1).string_value (); - int error_number = 0; + clear = (opt == "clear"); + } - std::string error_message = os.error (clear, error_number); + int error_number = 0; - retval(1) = error_number; - retval(0) = error_message; - } - else - print_usage (); + std::string error_message = os.error (clear, error_number); + + retval(1) = error_number; + retval(0) = error_message; return retval; } @@ -1792,30 +1720,26 @@ { octave_value retval = -1; - int nargin = args.length (); + if (args.length () != 2) + print_usage (); - if (nargin == 2) - { - std::string name = args(0).xstring_value ("popen: COMMAND must be a string"); - std::string mode = args(1).xstring_value ("popen: MODE must be a string"); - - if (mode == "r") - { - octave_stream ips = octave_iprocstream::create (name); + std::string name = args(0).xstring_value ("popen: COMMAND must be a string"); + std::string mode = args(1).xstring_value ("popen: MODE must be a string"); - retval = octave_stream_list::insert (ips); - } - else if (mode == "w") - { - octave_stream ops = octave_oprocstream::create (name); + if (mode == "r") + { + octave_stream ips = octave_iprocstream::create (name); - retval = octave_stream_list::insert (ops); - } - else - error ("popen: invalid MODE specified"); + retval = octave_stream_list::insert (ips); + } + else if (mode == "w") + { + octave_stream ops = octave_oprocstream::create (name); + + retval = octave_stream_list::insert (ops); } else - print_usage (); + error ("popen: invalid MODE specified"); return retval; } @@ -1829,16 +1753,10 @@ @seealso{fclose, popen}\n\ @end deftypefn") { - octave_value retval = -1; - - int nargin = args.length (); - - if (nargin == 1) - retval = octave_stream_list::remove (args(0), "pclose"); - else + if (args.length () != 1) print_usage (); - return retval; + return octave_value (octave_stream_list::remove (args(0), "pclose")); } DEFUN (tempname, args, , @@ -1865,24 +1783,20 @@ int len = args.length (); - if (len < 3) - { - std::string dir; - - if (len > 0) - dir = args(0).xstring_value ("tempname: DIR must be a string"); - - std::string pfx ("oct-"); - - if (len > 1) - pfx = args(1).xstring_value ("tempname: PREFIX must be a string"); - - retval = octave_tempnam (dir, pfx); - } - else + if (len > 2) print_usage (); - return retval; + std::string dir; + + if (len > 0) + dir = args(0).xstring_value ("tempname: DIR must be a string"); + + std::string pfx ("oct-"); + + if (len > 1) + pfx = args(1).xstring_value ("tempname: PREFIX must be a string"); + + return octave_value (octave_tempnam (dir, pfx)); } /* @@ -1950,37 +1864,33 @@ { octave_value_list retval; + if (args.length () != 0) + print_usage (); + retval(1) = std::string (); retval(0) = -1; - int nargin = args.length (); - - if (nargin == 0) - { - FILE *fid = gnulib::tmpfile (); + FILE *fid = gnulib::tmpfile (); - if (fid) - { - std::string nm; + if (fid) + { + std::string nm; - std::ios::openmode md = fopen_mode_to_ios_mode ("w+b"); + std::ios::openmode md = fopen_mode_to_ios_mode ("w+b"); - octave_stream s = octave_stdiostream::create (nm, fid, md); - - if (s) - retval(0) = octave_stream_list::insert (s); - else - error ("tmpfile: failed to create octave_stdiostream object"); + octave_stream s = octave_stdiostream::create (nm, fid, md); - } + if (s) + retval(0) = octave_stream_list::insert (s); else - { - retval(1) = gnulib::strerror (errno); - retval(0) = -1; - } + error ("tmpfile: failed to create octave_stdiostream object"); + } else - print_usage (); + { + retval(1) = gnulib::strerror (errno); + retval(0) = -1; + } return retval; } @@ -2010,60 +1920,58 @@ { octave_value_list retval; + int nargin = args.length (); + + if (nargin < 1 || nargin > 2) + print_usage (); + retval(2) = std::string (); retval(1) = std::string (); retval(0) = -1; - int nargin = args.length (); + std::string tmpl8 = args(0).xstring_value ("mkstemp: TEMPLATE argument must be a string"); + + OCTAVE_LOCAL_BUFFER (char, tmp, tmpl8.size () + 1); + strcpy (tmp, tmpl8.c_str ()); + + int fd = gnulib::mkostemp (tmp, O_BINARY); - if (nargin == 1 || nargin == 2) + if (fd < 0) { - std::string tmpl8 = args(0).xstring_value ("mkstemp: TEMPLATE argument must be a string"); + retval(2) = gnulib::strerror (errno); + retval(0) = fd; + } + else + { + const char *fopen_mode = "w+b"; + + FILE *fid = fdopen (fd, fopen_mode); - OCTAVE_LOCAL_BUFFER (char, tmp, tmpl8.size () + 1); - strcpy (tmp, tmpl8.c_str ()); + if (fid) + { + std::string nm = tmp; - int fd = gnulib::mkostemp (tmp, O_BINARY); + std::ios::openmode md = fopen_mode_to_ios_mode (fopen_mode); + + octave_stream s = octave_stdiostream::create (nm, fid, md); - if (fd < 0) - { - retval(2) = gnulib::strerror (errno); - retval(0) = fd; + if (s) + { + retval(1) = nm; + retval(0) = octave_stream_list::insert (s); + + if (nargin == 2 && args(1).is_true ()) + mark_for_deletion (nm); + } + else + error ("mkstemp: failed to create octave_stdiostream object"); } else { - const char *fopen_mode = "w+b"; - - FILE *fid = fdopen (fd, fopen_mode); - - if (fid) - { - std::string nm = tmp; - - std::ios::openmode md = fopen_mode_to_ios_mode (fopen_mode); - - octave_stream s = octave_stdiostream::create (nm, fid, md); - - if (s) - { - retval(1) = nm; - retval(0) = octave_stream_list::insert (s); - - if (nargin == 2 && args(1).is_true ()) - mark_for_deletion (nm); - } - else - error ("mkstemp: failed to create octave_stdiostream object"); - } - else - { - retval(2) = gnulib::strerror (errno); - retval(0) = -1; - } + retval(2) = gnulib::strerror (errno); + retval(0) = -1; } } - else - print_usage (); return retval; } @@ -2121,24 +2029,22 @@ int status = 0; - if (args.length () == 1) - { - int mask = args(0).xint_value ("umask: MASK must be an integer"); + if (args.length () != 1) + print_usage (); + + int mask = args(0).xint_value ("umask: MASK must be an integer"); - if (mask < 0) - { - status = -1; - error ("umask: MASK must be a positive integer value"); - } - else - { - int oct_mask = convert (mask, 8, 10); - - status = convert (octave_umask (oct_mask), 10, 8); - } + if (mask < 0) + { + status = -1; + error ("umask: MASK must be a positive integer value"); } else - print_usage (); + { + int oct_mask = convert (mask, 8, 10); + + status = convert (octave_umask (oct_mask), 10, 8); + } if (status >= 0) retval(0) = status; @@ -2149,16 +2055,10 @@ static octave_value const_value (const char *, const octave_value_list& args, int val) { - octave_value retval; - - int nargin = args.length (); - - if (nargin == 0) - retval = val; - else + if (args.length () != 0) print_usage (); - return retval; + return octave_value (val); } DEFUNX ("P_tmpdir", FP_tmpdir, args, , @@ -2174,16 +2074,10 @@ @seealso{tempdir, tempname, mkstemp, tmpfile}\n\ @end deftypefn") { - octave_value retval; - - int nargin = args.length (); - - if (nargin == 0) - retval = get_P_tmpdir (); - else + if (args.length () != 0) print_usage (); - return retval; + return octave_value (get_P_tmpdir ()); } // NOTE: the values of SEEK_SET, SEEK_CUR, and SEEK_END have to be @@ -2239,16 +2133,10 @@ const_value (const char *, const octave_value_list& args, const octave_value& val) { - octave_value retval; - - int nargin = args.length (); - - if (nargin == 0) - retval = val; - else + if (args.length () != 0) print_usage (); - return retval; + return octave_value (val); } DEFUNX ("stdin", Fstdin, args, ,