Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage-utils:master commit in: /
Date: Thu, 29 Dec 2016 02:33:33
Message-Id: 1482978745.dd9b8dfe0752fd9422782312ba85b4229ee54722.vapier@gentoo
1 commit: dd9b8dfe0752fd9422782312ba85b4229ee54722
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 29 02:32:25 2016 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 29 02:32:25 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=dd9b8dfe
7
8 qtbz2: improve cli a bit
9
10 Make -t/-x options autoselect the split action.
11 Allow -d to be specified more than once.
12 When given a bad -d path, diagnose it immediately.
13 When we can't autodetect actions, show a specific error message.
14
15 qtbz2.c | 11 +++++++----
16 1 file changed, 7 insertions(+), 4 deletions(-)
17
18 diff --git a/qtbz2.c b/qtbz2.c
19 index 3c2e9f0..2161f99 100644
20 --- a/qtbz2.c
21 +++ b/qtbz2.c
22 @@ -252,13 +252,15 @@ int qtbz2_main(int argc, char **argv)
23 COMMON_GETOPTS_CASES(qtbz2)
24 case 'j': action = TBZ2_ACT_JOIN; break;
25 case 's': action = TBZ2_ACT_SPLIT; break;
26 - case 't': split_xpak = 0; break;
27 - case 'x': split_tarbz2 = 0; break;
28 + case 't': action = TBZ2_ACT_SPLIT; split_xpak = 0; break;
29 + case 'x': action = TBZ2_ACT_SPLIT; split_tarbz2 = 0; break;
30 case 'O': tbz2_stdout = 1; break;
31 case 'd':
32 if (dir_fd != AT_FDCWD)
33 - err("Only use -d once");
34 + close(dir_fd);
35 dir_fd = open(optarg, O_RDONLY|O_CLOEXEC|O_PATH);
36 + if (unlikely(dir_fd == -1))
37 + errp("could not open dir: %s", optarg);
38 break;
39 }
40 }
41 @@ -279,7 +281,8 @@ int qtbz2_main(int argc, char **argv)
42 else if (strstr(argv[optind], ".tbz2") != NULL)
43 action = TBZ2_ACT_SPLIT;
44 else
45 - qtbz2_usage(EXIT_FAILURE);
46 + err("%s: need to use -j or -s, or file must end in .tar.bz2 or .tbz2 to autodetect",
47 + argv[optind]);
48 }
49
50 /* tbz2tool join .tar.bz2 .xpak .tbz2 */