changeset 21950:b76a0738a662

gzip.m, bzip2.m: support for filenames starting with dashes. * bzip2.m, gzip.m: use "--" before starting filenames to avoid issues with filepaths starting with dashes. Also reduce code duplication by making use of vararagout.
author Carnë Draug <carandraug@octave.org>
date Sun, 19 Jun 2016 01:21:31 +0100
parents baeffde5c87d
children f0303b64e59a
files scripts/miscellaneous/bzip2.m scripts/miscellaneous/gzip.m
diffstat 2 files changed, 6 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/miscellaneous/bzip2.m	Sat Jun 18 10:55:49 2016 -0400
+++ b/scripts/miscellaneous/bzip2.m	Sun Jun 19 01:21:31 2016 +0100
@@ -36,17 +36,14 @@
 ## @seealso{bunzip2, unpack, gzip, zip, tar}
 ## @end deftypefn
 
-function filelist = bzip2 (varargin)
+function [varargout] = bzip2 (varargin)
 
   if (nargin < 1 || nargin > 2 || nargout > 1)
     print_usage ();
   endif
 
-  if (nargout == 0)
-    __xzip__ ("bzip2", "bz2", "bzip2 %s", varargin{:});
-  else
-    filelist = __xzip__ ("bzip2", "bz2", "bzip2 %s", varargin{:});
-  endif
+  [varargout{1:nargout}] = __xzip__ ("bzip2", "bz2", "bzip2 -- %s",
+                                     varargin{:});
 
 endfunction
 
--- a/scripts/miscellaneous/gzip.m	Sat Jun 18 10:55:49 2016 -0400
+++ b/scripts/miscellaneous/gzip.m	Sun Jun 19 01:21:31 2016 +0100
@@ -37,17 +37,14 @@
 ## @seealso{gunzip, unpack, bzip2, zip, tar}
 ## @end deftypefn
 
-function filelist = gzip (varargin)
+function [varargout] = gzip (varargin)
 
   if (nargin < 1 || nargin > 2 || nargout > 1)
     print_usage ();
   endif
 
-  if (nargout == 0)
-    __xzip__ ("gzip", "gz", "gzip -r %s", varargin{:});
-  else
-    filelist = __xzip__ ("gzip", "gz", "gzip -r %s", varargin{:});
-  endif
+  [varargout{1:nargout}] = __xzip__ ("gzip", "gz", "gzip -r -- %s",
+                                     varargin{:});
 
 endfunction