Re: [PATCH 5/8] config: Disallow multiple config file locations.
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Feb 15, 2009, 12:44 UTC
- Message-ID
- <94a0d4530902150444t6e4dcd3btda79aaa0efebfe62@mail.gmail.com>
- In-Reply-To
- <alpine.DEB.1.00.0902151324530.10279@pacific.mpi-cbg.de>
On Sun, Feb 15, 2009 at 2:26 PM, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 35 quoted lines
> Hi,
>
> On Sun, 15 Feb 2009, Felipe Contreras wrote:
>
>> Either --global, --system, or --file should be used, but not any
>> combination.
>>
>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
>> ---
>> builtin-config.c | 10 ++++++++++
>> 1 files changed, 10 insertions(+), 0 deletions(-)
>>
>> diff --git a/builtin-config.c b/builtin-config.c
>> index 83f8b74..e744ad8 100644
>> --- a/builtin-config.c
>> +++ b/builtin-config.c
>> @@ -314,6 +314,16 @@ int cmd_config(int argc, const char **argv, const char *unused_prefix)
>>
>> argc = parse_options(argc, argv, builtin_config_options, builtin_config_usage, 0);
>>
>> + {
>> + int config_file_count = use_global_config + use_system_config;
>> + if (given_config_file)
>> + config_file_count++;
>> + if (config_file_count > 1) {
>> + error("only one config file at a time.");
>> + usage_with_options(builtin_config_usage, builtin_config_options);
>> + }
>> + }
>
> Hmm. Is this a convoluted way to write
>
> if (use_global_config + use_system_config + !!given_config_file > 1)
>
> or am I misunderstanding anything?Ah, much better. (the !!foo trick is new to me)
--
Felipe Contreras
From 1ef7e251a2ab24f213af3022dd0a98785c8127b7 Mon Sep 17 00:00:00 2001
From: Felipe Contreras <felipe.contreras@gmail.com>
Date: Sun, 15 Feb 2009 10:46:03 +0200
Subject: [PATCH 5/8] config: Disallow multiple config file locations.
Either --global, --system, or --file should be used, but not any
combination.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
builtin-config.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/builtin-config.c b/builtin-config.c
index 30de93e..cdd8a12 100644
--- a/builtin-config.c
+++ b/builtin-config.c
@@ -313,6 +313,11 @@ int cmd_config(int argc, const char **argv, const char *unused_prefix)
argc = parse_options(argc, argv, builtin_config_options, builtin_config_usage, 0);
+ if (use_global_config + use_system_config + !!given_config_file > 1) {
+ error("only one config file at a time.");
+ usage_with_options(builtin_config_usage, builtin_config_options);
+ }
+
if (use_global_config) {
char *home = getenv("HOME");
if (home) {
--
1.6.1.3