Mercurial > octave-antonio
diff scripts/miscellaneous/tar.m @ 12500:8f2056646dba
Improve docstrings for archive functions (gzip, bzip2, etc.)
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Thu, 03 Mar 2011 13:05:50 -0800 |
parents | c792872f8942 |
children | 93a1d99183fb |
line wrap: on
line diff
--- a/scripts/miscellaneous/tar.m Thu Mar 03 11:59:05 2011 -0800 +++ b/scripts/miscellaneous/tar.m Thu Mar 03 13:05:50 2011 -0800 @@ -17,7 +17,8 @@ ## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {Function File} {@var{entries} =} tar (@var{tarfile}, @var{files}, @var{root}) +## @deftypefn {Function File} {@var{entries} =} tar (@var{tarfile}, @var{files}) +## @deftypefnx {Function File} {@var{entries} =} tar (@var{tarfile}, @var{files}, @var{root}) ## Pack @var{files} @var{files} into the TAR archive @var{tarfile}. The ## list of files must be a string or a cell array of strings. ## @@ -26,49 +27,40 @@ ## ## If an output argument is requested the entries in the archive are ## returned in a cell array. -## @seealso{untar, gzip, gunzip, zip, unzip} +## @seealso{untar, bzip2, gzip, zip} ## @end deftypefn ## Author: Søren Hauberg <hauberg@gmail.com> -function entries = tar (tarfile, files, root) - - if (nargin == 2 || nargin == 3) +function entries = tar (tarfile, files, root = ".") - if (nargin == 2) - root = "."; - endif + if (nargin < 2 || nargin > 3) + print_usage (); + endif - ## Test type of input - if (ischar (files)) - files = cellstr (files); - endif + if (ischar (files)) + files = cellstr (files); + endif - if (ischar (tarfile) && iscellstr (files) && ischar (root)) - - cmd = sprintf ("tar cvf %s -C %s %s", tarfile, root, - sprintf (" %s", files{:})); + if (ischar (tarfile) && iscellstr (files) && ischar (root)) + error ("tar: all arguments must be character strings"); + endif - [status, output] = system (cmd); + cmd = sprintf ("tar cvf %s -C %s %s", tarfile, root, + sprintf (" %s", files{:})); + + [status, output] = system (cmd); - if (status == 0) - if (nargout > 0) - if (output(end) == "\n") - output(end) = []; - endif - entries = strsplit (output, "\n"); - entries = entries'; - endif - else - error ("tar: tar exited with status = %d", status); - endif + if (status) + error ("tar: tar exited with status = %d", status); + endif - else - error ("tar: expecting all arguments to be character strings"); + if (nargout > 0) + if (output(end) == "\n") + output(end) = []; endif - - else - print_usage("tar"); + entries = strsplit (output, "\n"); + entries = entries'; endif endfunction