[Top][All Lists]
[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