bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] bug report: tar backup script 'backup (GNU tar) 1.25: opti


From: Paul Eggert
Subject: Re: [Bug-tar] bug report: tar backup script 'backup (GNU tar) 1.25: option '-l' is not recognized
Date: Mon, 22 Nov 2010 15:20:52 -0800
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Thunderbird/3.0.10

Thanks for your bug report.  That patch isn't quite right, since it'd
cause the script to accept "-l=3", which should be rejected.  Could
you please try this patch instead?  (I've installed it, but it'd be
nice if you could double-check it.)  Thanks.

>From 4490773f87195f042fa151bb6959d332801fc46c Mon Sep 17 00:00:00 2001
From: Paul Eggert <address@hidden>
Date: Mon, 22 Nov 2010 15:18:10 -0800
Subject: [PATCH] scripts: fix option parsing

Problem reported by Dennis Wydra in
<http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00082.html>.
* scripts/backup.in: Accept "-l LEVEL".  Be more systematic about
backslashes inside ``; it shouldn't matter for modern shells but
it might matter for older ones.
* scripts/restore.in: Likewise.
* scripts/backup.in: Adjust implementation of -t/--time to match
the new implementation of -l/--level.
---
 scripts/backup.in  |   12 ++++++------
 scripts/restore.in |    5 +++--
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/scripts/backup.in b/scripts/backup.in
index 6a50e51..37bfed3 100644
--- a/scripts/backup.in
+++ b/scripts/backup.in
@@ -72,8 +72,9 @@ do
   --l=*|--le=*|--lev=*|--leve=*|--level=*)
          DUMP_LEVEL=$optarg
         ;;
+  -l?*)  DUMP_LEVEL=`expr $option : '-l\(.*\)'`;;
   -l|--l|--le|--lev|--leve|--level)
-         prev=$option
+        prev=--level
         ;;
   --verb=*|--verbo=*|--verbos=*|--verbose=*)
          VERBOSE=$optarg
@@ -81,14 +82,13 @@ do
   -v|--verb|--verbo|--verbos|--verbose)
          VERBOSE=100
         ;;
-  -v*)   VERBOSE=`expr $option : "-v\(.*\)"`;;
+  -v*)   VERBOSE=`expr $option : '-v\(.*\)'`;;
   --t=*|--ti=*|--tim=*|--time=*)
          TIME=$optarg
         ;;
-  -t)    prev=--t;;
-  -t*)   TIME=`expr $option : "-t\(.*\)"`;;
-  --t|--ti|--tim|--time)
-         prev=$option
+  -t?*)  TIME=`expr $option : '-t\(.*\)'`;;
+  -t|--t|--ti|--tim|--time)
+        prev=--time
         ;;
   -V|--v|--ve|--ver|--vers|--versi|--versio|--version)
         echo "backup (@PACKAGE_NAME@) @VERSION@"
diff --git a/scripts/restore.in b/scripts/restore.in
index efc320a..2f86bac 100644
--- a/scripts/restore.in
+++ b/scripts/restore.in
@@ -60,8 +60,9 @@ do
   --l=*|--le=*|--lev=*|--leve=*|--level=*)
          DUMP_LEVEL=$optarg
         ;;
+  -l?*)  DUMP_LEVEL=`expr $option : '-l\(.*\)'`;;
   -l|--l|--le|--lev|--leve|--level)
-         prev=$option
+        prev=--level
         ;;
   --verb=*|--verbo=*|--verbos=*|--verbose=*)
          VERBOSE=$optarg
@@ -69,7 +70,7 @@ do
   -v|--verb|--verbo|--verbos|--verbose)
          VERBOSE=100
         ;;
-  -v*)   VERBOSE=`expr $option : "-v\(.*\)"`;;
+  -v*)   VERBOSE=`expr $option : '-v\(.*\)'`;;
   -V|--v|--ve|--ver|--vers|--versi|--versio|--version)
         echo "restore (@PACKAGE_NAME@) @VERSION@"
         license
-- 
1.7.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]