public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: Dodji Seketeli <dodji@seketeli.org>
To: tangmeng <tangmeng@uniontech.com>
Cc: libabigail@sourceware.org
Subject: Re: [PATCH v2] abicompat: Add prompt message for abnormal operation
Date: Tue, 09 Nov 2021 11:18:23 +0100	[thread overview]
Message-ID: <87bl2t8weo.fsf@seketeli.org> (raw)
In-Reply-To: <20211105093828.15377-1-tangmeng@uniontech.com> (tangmeng@uniontech.com's message of "Fri, 5 Nov 2021 17:38:28 +0800")

Hello,

tangmeng <tangmeng@uniontech.com> a écrit:

> When using abicompat, if the --redundant option and --no-redundant
> option are used at the same time, no error will be prompted, the
> actual option will prevail.
>
> This patch provides a error to notify the user that error.
>
>         * tools/abicompat.cc (parse_command_line): Notify the user when --redundant
>         and --no-redundant are used at the same time
>
> Signed-off-by: tangmeng <tangmeng@uniontech.com>

Thanks for the patch!

I have applied a slightly modified version to yours that does
essentially the same thing.  Only minor nits have been picked.  Please
find the applied patch below.

Thanks again!

Cheers,

From 38d883cc7425cc945a8f51fd4cb66e90e2d8d825 Mon Sep 17 00:00:00 2001
From: tangmeng <tangmeng@uniontech.com>
Date: Fri, 5 Nov 2021 17:38:28 +0800
Subject: [PATCH] abicompat: Add prompt message for abnormal operation

When using abicompat, if the --redundant option and --no-redundant
option are used at the same time, no error is prompted and none of the
options have an impact.

This patch emits an error message in that case.

	* tools/abicompat.cc (parse_command_line): Notify the user
	when --redundant and --no-redundant are used at the same time

Signed-off-by: tangmeng <tangmeng@uniontech.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
---
 tools/abicompat.cc | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/tools/abicompat.cc b/tools/abicompat.cc
index cf944a49..addd03a9 100644
--- a/tools/abicompat.cc
+++ b/tools/abicompat.cc
@@ -71,6 +71,8 @@ public:
   bool			list_undefined_symbols_only;
   bool			show_base_names;
   bool			show_redundant;
+  bool			redundant_opt_set;
+  bool			no_redundant_opt_set;
   bool			show_locs;
 
   options(const char* program_name)
@@ -81,6 +83,8 @@ public:
      list_undefined_symbols_only(),
      show_base_names(),
      show_redundant(true),
+     redundant_opt_set(),
+     no_redundant_opt_set(),
      show_locs(true)
   {}
 }; // end struct options
@@ -191,9 +195,15 @@ parse_command_line(int argc, char* argv[], options& opts)
 	  ++i;
 	}
       else if (!strcmp(argv[i], "--redundant"))
-	opts.show_redundant = true;
+        {
+	  opts.show_redundant = true;
+	  opts.redundant_opt_set = true;
+	}
       else if (!strcmp(argv[i], "--no-redundant"))
-	opts.show_redundant = false;
+        {
+  	  opts.show_redundant = false;
+	  opts.no_redundant_opt_set = true;
+	}
       else if (!strcmp(argv[i], "--no-show-locs"))
 	opts.show_locs = false;
       else if (!strcmp(argv[i], "--help")
@@ -645,6 +655,14 @@ main(int argc, char* argv[])
 	<< opts.lib2_path << " will be ignored automatically\n";
     }
 
+  if (opts.redundant_opt_set && opts.no_redundant_opt_set)
+    {
+      emit_prefix(argv[0], cerr)
+        << "ERROR: The \'--redundant\' and '--no-redundant' option are in conflict. "
+	<< "Please select only one option to use.\n";
+      return 1;
+    }
+
   ABG_ASSERT(!opts.app_path.empty());
   if (!abigail::tools_utils::check_file(opts.app_path, cerr, opts.prog_name))
     return abigail::tools_utils::ABIDIFF_ERROR;
-- 
2.32.0


-- 
		Dodji

  reply	other threads:[~2021-11-09 10:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-05  9:38 tangmeng
2021-11-09 10:18 ` Dodji Seketeli [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-10-29  9:23 tangmeng
2021-11-02  9:18 ` Dodji Seketeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bl2t8weo.fsf@seketeli.org \
    --to=dodji@seketeli.org \
    --cc=libabigail@sourceware.org \
    --cc=tangmeng@uniontech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).