# HG changeset patch # User Yu Liu # Date 1449935660 18000 # Node ID b3a18c7641613f8fae2c8c708f28c76832c2a1a6 # Parent cdf08aacfd86602a1c17bd988ba976402c66e4c7 Code sprint 2015: Refactor print_usage() in syscalls.cc to resemble m-files diff -r cdf08aacfd86 -r b3a18c764161 libinterp/corefcn/syscalls.cc --- a/libinterp/corefcn/syscalls.cc Sat Dec 12 13:01:52 2015 -0200 +++ b/libinterp/corefcn/syscalls.cc Sat Dec 12 10:54:20 2015 -0500 @@ -635,11 +635,10 @@ int nargin = args.length (); - if (nargin == 0) - retval = octave_syscalls::geteuid (); - else + if (nargin != 0) print_usage (); + retval = octave_syscalls::geteuid (); return retval; } @@ -654,11 +653,10 @@ int nargin = args.length (); - if (nargin == 0) - retval = octave_syscalls::getuid (); - else + if (nargin != 0) print_usage (); + retval = octave_syscalls::getuid (); return retval; } @@ -689,21 +687,19 @@ retval(1) = std::string (); retval(0) = -1; - if (args.length () == 2) - { - pid_t pid = args(0).int_value (true); + if (args.length () != 2) + print_usage (); - int sig = args(1).int_value (true); + pid_t pid = args(0).int_value (true); - std::string msg; + int sig = args(1).int_value (true); - int status = octave_syscalls::kill (pid, sig, msg); + std::string msg; - retval(1) = msg; - retval(0) = status; - } - else - print_usage (); + int status = octave_syscalls::kill (pid, sig, msg); + + retval(1) = msg; + retval(0) = status; return retval; } @@ -721,16 +717,14 @@ { octave_value_list retval; - if (args.length () == 1) - { - std::string fname = args(0).xstring_value ("lstat: NAME must be a string"); + if (args.length () != 1) + print_usage (); - file_stat fs (fname, false); + std::string fname = args(0).xstring_value ("lstat: NAME must be a string"); - retval = mk_stat_result (fs); - } - else - print_usage (); + file_stat fs (fname, false); + + retval = mk_stat_result (fs); return retval; } @@ -788,30 +782,29 @@ int nargin = args.length (); - if (nargin == 2) - { - std::string name = args(0).xstring_value ("mkfifo: FILE must be a string"); - - int octal_mode = args(1).xint_value ("mkfifo: MODE must be an integer"); + if (nargin != 2) + print_usage (); - if (octal_mode < 0) - error ("mkfifo: MODE must be a positive integer value"); - else - { - int mode = convert (octal_mode, 8, 10); + std::string name = args(0).xstring_value ("mkfifo: FILE must be a string"); + + int octal_mode = args(1).xint_value ("mkfifo: MODE must be an integer"); - std::string msg; + if (octal_mode < 0) + error ("mkfifo: MODE must be a positive integer value"); + else + { + int mode = convert (octal_mode, 8, 10); - int status = octave_mkfifo (name, mode, msg); - - retval(0) = status; + std::string msg; - if (status < 0) - retval(1) = msg; - } + int status = octave_mkfifo (name, mode, msg); + + retval(0) = status; + + if (status < 0) + retval(1) = msg; } - else - print_usage (); + return retval; } @@ -850,34 +843,32 @@ int nargin = args.length (); - if (nargin == 0) - { - int fid[2]; + if (nargin != 0) + print_usage (); - std::string msg; + int fid[2]; - int status = octave_syscalls::pipe (fid, msg); + std::string msg; + + int status = octave_syscalls::pipe (fid, msg); - if (status < 0) - retval(3) = msg; - else - { - FILE *ifile = fdopen (fid[0], "r"); - FILE *ofile = fdopen (fid[1], "w"); - - octave_stream is = octave_stdiostream::create ("pipe-in", ifile, - std::ios::in); + if (status < 0) + retval(3) = msg; + else + { + FILE *ifile = fdopen (fid[0], "r"); + FILE *ofile = fdopen (fid[1], "w"); - octave_stream os = octave_stdiostream::create ("pipe-out", ofile, - std::ios::out); + octave_stream is = octave_stdiostream::create ("pipe-in", ifile, + std::ios::in); - retval(2) = status; - retval(1) = octave_stream_list::insert (os); - retval(0) = octave_stream_list::insert (is); - } + octave_stream os = octave_stdiostream::create ("pipe-out", ofile, + std::ios::out); + + retval(2) = status; + retval(1) = octave_stream_list::insert (os); + retval(0) = octave_stream_list::insert (is); } - else - print_usage (); return retval; } @@ -980,27 +971,25 @@ { octave_value_list retval; - if (args.length () == 1) - { - if (args(0).is_scalar_type ()) - { - int fid = octave_stream_list::get_file_number (args(0)); + if (args.length () != 1) + print_usage (); - file_fstat fs (fid); + if (args(0).is_scalar_type ()) + { + int fid = octave_stream_list::get_file_number (args(0)); + + file_fstat fs (fid); - retval = mk_stat_result (fs); - } - else - { - std::string fname = args(0).xstring_value ("stat: NAME must be a string"); + retval = mk_stat_result (fs); + } + else + { + std::string fname = args(0).xstring_value ("stat: NAME must be a string"); - file_stat fs (fname); + file_stat fs (fname); - retval = mk_stat_result (fs); - } - } - else - print_usage (); + retval = mk_stat_result (fs); + } return retval; } @@ -1016,14 +1005,12 @@ { octave_value retval = false; - if (args.length () == 1) - { - double mode = args(0).xdouble_value ("S_ISREG: invalid MODE value"); + if (args.length () != 1) + print_usage (); - retval = file_stat::is_reg (static_cast (mode)); - } - else - print_usage (); + double mode = args(0).xdouble_value ("S_ISREG: invalid MODE value"); + + retval = file_stat::is_reg (static_cast (mode)); return retval; } @@ -1039,14 +1026,12 @@ { octave_value retval = false; - if (args.length () == 1) - { - double mode = args(0).xdouble_value ("S_ISDIR: invalid MODE value"); + if (args.length () != 1) + print_usage (); - retval = file_stat::is_dir (static_cast (mode)); - } - else - print_usage (); + double mode = args(0).xdouble_value ("S_ISDIR: invalid MODE value"); + + retval = file_stat::is_dir (static_cast (mode)); return retval; } @@ -1062,14 +1047,13 @@ { octave_value retval = false; - if (args.length () == 1) - { - double mode = args(0).xdouble_value ("S_ISCHR: invalid MODE value"); + if (args.length () != 1) + print_usage (); - retval = file_stat::is_chr (static_cast (mode)); - } - else - print_usage (); + double mode = args(0).xdouble_value ("S_ISCHR: invalid MODE value"); + + retval = file_stat::is_chr (static_cast (mode)); + return retval; } @@ -1085,14 +1069,12 @@ { octave_value retval = false; - if (args.length () == 1) - { - double mode = args(0).xdouble_value ("S_ISBLK: invalid MODE value"); + if (args.length () != 1) + print_usage (); - retval = file_stat::is_blk (static_cast (mode)); - } - else - print_usage (); + double mode = args(0).xdouble_value ("S_ISBLK: invalid MODE value"); + + retval = file_stat::is_blk (static_cast (mode)); return retval; } @@ -1108,14 +1090,12 @@ { octave_value retval = false; - if (args.length () == 1) - { - double mode = args(0).xdouble_value ("S_ISFIFO: invalid MODE value"); + if (args.length () != 1) + print_usage (); - retval = file_stat::is_fifo (static_cast (mode)); - } - else - print_usage (); + double mode = args(0).xdouble_value ("S_ISFIFO: invalid MODE value"); + + retval = file_stat::is_fifo (static_cast (mode)); return retval; } @@ -1131,14 +1111,12 @@ { octave_value retval = false; - if (args.length () == 1) - { - double mode = args(0).xdouble_value ("S_ISLNK: invalid MODE value"); + if (args.length () != 1) + print_usage (); - retval = file_stat::is_lnk (static_cast (mode)); - } - else - print_usage (); + double mode = args(0).xdouble_value ("S_ISLNK: invalid MODE value"); + + retval = file_stat::is_lnk (static_cast (mode)); return retval; } @@ -1154,14 +1132,13 @@ { octave_value retval = false; - if (args.length () == 1) - { - double mode = args(0).xdouble_value ("S_ISSOCK: invalid MODE value"); + if (args.length () != 1) + print_usage (); - retval = file_stat::is_sock (static_cast (mode)); - } - else - print_usage (); + double mode = args(0).xdouble_value ("S_ISSOCK: invalid MODE value"); + + retval = file_stat::is_sock (static_cast (mode)); + return retval; } @@ -1174,11 +1151,11 @@ { octave_value retval; - if (args.length () == 0) - retval = octave_env::get_host_name (); - else + if (args.length () != 0) print_usage (); + retval = octave_env::get_host_name (); + return retval; } @@ -1209,24 +1186,23 @@ { octave_value_list retval; - if (args.length () == 0) - { - octave_uname sysinfo; + if (args.length () != 0) + print_usage (); - octave_scalar_map m; + octave_uname sysinfo; + + octave_scalar_map m; - m.assign ("sysname", sysinfo.sysname ()); - m.assign ("nodename", sysinfo.nodename ()); - m.assign ("release", sysinfo.release ()); - m.assign ("version", sysinfo.version ()); - m.assign ("machine", sysinfo.machine ()); + m.assign ("sysname", sysinfo.sysname ()); + m.assign ("nodename", sysinfo.nodename ()); + m.assign ("release", sysinfo.release ()); + m.assign ("version", sysinfo.version ()); + m.assign ("machine", sysinfo.machine ()); - retval(2) = sysinfo.message (); - retval(1) = sysinfo.error (); - retval(0) = m; - } - else - print_usage (); + retval(2) = sysinfo.message (); + retval(1) = sysinfo.error (); + retval(0) = m; + return retval; } @@ -1249,19 +1225,18 @@ int nargin = args.length (); - if (nargin == 1) - { - std::string name = args(0).xstring_value ("unlink: FILE must be a string"); + if (nargin != 1) + print_usage (); - std::string msg; + std::string name = args(0).xstring_value ("unlink: FILE must be a string"); - int status = octave_unlink (name, msg); + std::string msg; + + int status = octave_unlink (name, msg); - retval(1) = msg; - retval(0) = status; - } - else - print_usage (); + retval(1) = msg; + retval(0) = status; + return retval; } @@ -1321,28 +1296,26 @@ int nargin = args.length (); - if (nargin == 1 || nargin == 2) - { - pid_t pid = args(0).xint_value ("waitpid: OPTIONS must be an integer"); + if (nargin != 1 && nargin != 2) + print_usage (); + + pid_t pid = args(0).xint_value ("waitpid: OPTIONS must be an integer"); - int options = 0; + int options = 0; - if (args.length () == 2) - options = args(1).xint_value ("waitpid: PID must be an integer value"); - - std::string msg; + if (args.length () == 2) + options = args(1).xint_value ("waitpid: PID must be an integer value"); - int status = 0; + std::string msg; - pid_t result = octave_syscalls::waitpid (pid, &status, - options, msg); + int status = 0; - retval(2) = msg; - retval(1) = status; - retval(0) = result; - } - else - print_usage (); + pid_t result = octave_syscalls::waitpid (pid, &status, + options, msg); + + retval(2) = msg; + retval(1) = status; + retval(0) = result; return retval; } @@ -1357,14 +1330,12 @@ { octave_value retval = false; - if (args.length () == 1) - { - int status = args(0).xint_value ("WIFEXITED: STATUS must be an integer"); + if (args.length () != 1) + print_usage (); - retval = octave_wait::ifexited (status); - } - else - print_usage (); + int status = args(0).xint_value ("WIFEXITED: STATUS must be an integer"); + + retval = octave_wait::ifexited (status); return retval; } @@ -1401,14 +1372,13 @@ { octave_value retval = false; - if (args.length () == 1) - { - int status = args(0).xint_value ("WIFSIGNALED: STATUS must be an integer"); + if (args.length () != 1) + print_usage (); - retval = octave_wait::ifsignaled (status); - } - else - print_usage (); + int status = args(0).xint_value ("WIFSIGNALED: STATUS must be an integer"); + + retval = octave_wait::ifsignaled (status); + return retval; } @@ -1425,14 +1395,13 @@ { octave_value retval = 0; - if (args.length () == 1) - { - int status = args(0).xint_value ("WTERMSIG: STATUS must be an integer"); + if (args.length () != 1) + print_usage (); - retval = octave_wait::termsig (status); - } - else - print_usage (); + int status = args(0).xint_value ("WTERMSIG: STATUS must be an integer"); + + retval = octave_wait::termsig (status); + return retval; } @@ -1451,14 +1420,13 @@ { octave_value retval = false; - if (args.length () == 1) - { - int status = args(0).xint_value ("WCOREDUMP: STATUS must be an integer"); + if (args.length () != 1) + print_usage (); - retval = octave_wait::coredump (status); - } - else - print_usage (); + int status = args(0).xint_value ("WCOREDUMP: STATUS must be an integer"); + + retval = octave_wait::coredump (status); + return retval; } @@ -1476,14 +1444,13 @@ { octave_value retval = false; - if (args.length () == 1) - { - int status = args(0).xint_value ("WIFSTOPPED: STATUS must be an integer"); + if (args.length () != 1) + print_usage (); - retval = octave_wait::ifstopped (status); - } - else - print_usage (); + int status = args(0).xint_value ("WIFSTOPPED: STATUS must be an integer"); + + retval = octave_wait::ifstopped (status); + return retval; } @@ -1500,14 +1467,13 @@ { octave_value retval = 0; - if (args.length () == 1) - { - int status = args(0).xint_value ("WSTOPSIG: STATUS must be an integer"); + if (args.length () != 1) + print_usage (); - retval = octave_wait::stopsig (status); - } - else - print_usage (); + int status = args(0).xint_value ("WSTOPSIG: STATUS must be an integer"); + + retval = octave_wait::stopsig (status); + return retval; } @@ -1522,14 +1488,13 @@ { octave_value retval = false; - if (args.length () == 1) - { - int status = args(0).xint_value ("WIFCONTINUED: STATUS must be an integer"); + if (args.length () != 1) + print_usage (); - retval = octave_wait::ifcontinued (status); - } - else - print_usage (); + int status = args(0).xint_value ("WIFCONTINUED: STATUS must be an integer"); + + retval = octave_wait::ifcontinued (status); + return retval; } @@ -1545,19 +1510,18 @@ { octave_value_list retval; - if (args.length () == 1) - { - std::string name = args(0).xstring_value ("canonicalize_file_name: NAME must be a string"); - std::string msg; + if (args.length () != 1) + print_usage (); - std::string result = octave_canonicalize_file_name (name, msg); + std::string name = args(0).xstring_value ("canonicalize_file_name: NAME must be a string"); + std::string msg; - retval(2) = msg; - retval(1) = msg.empty () ? 0 : -1; - retval(0) = result; - } - else - print_usage (); + std::string result = octave_canonicalize_file_name (name, msg); + + retval(2) = msg; + retval(1) = msg.empty () ? 0 : -1; + retval(0) = result; + return retval; } @@ -1569,11 +1533,11 @@ int nargin = args.length (); - if (nargin == 0) - retval = val; - else + if (nargin != 0) print_usage (); + retval = val; + return retval; } @@ -1873,4 +1837,3 @@ { return const_value (args, WCONTINUE); } -