[igt-dev] [PATCH v2 09/12] code_cov_parse_info: fix error handling when opening files

Andrzej Hajda andrzej.hajda at intel.com
Wed Apr 13 13:27:16 UTC 2022



On 12.04.2022 10:59, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab at kernel.org>
>
> While on bash scripts we use "||" for error handling, perl
> uses "or" instead. Yet, it doesn't warn when "||" is used.

Perl accepts || as well (this is why it does not warn), but it has 
higher priority so in cases below it will behave different than or.
So the above sentence is misleading.
>
> That causes it to print a warning when the open fail while
> reading filter files, instead of the original intent of
> finishing and reporting an error.
>
> Reviewed-by: Ch Sai Gowtham <sai.gowtham.ch at intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
> ---
> To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover.
> See [PATCH v2 00/12] at: https://lore.kernel.org/all/cover.1649753814.git.mchehab@kernel.org/
>
>   scripts/code_cov_parse_info | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/code_cov_parse_info b/scripts/code_cov_parse_info
> index 3e1525a67d99..c8284a297b33 100755
> --- a/scripts/code_cov_parse_info
> +++ b/scripts/code_cov_parse_info
> @@ -513,7 +513,7 @@ my $filter_str = "";
>   my $has_filter;
>   
>   if ($func_filters) {
> -	open IN, $func_filters || die "Can't open $func_filters";
> +	open IN, $func_filters or die "Can't open $func_filters";

Replacing with:
     open(IN, $func_filters) || die "Can't open $func_filters";
should help as well.

With or without slightly adjusted commit message.

Reviewed-by: Andrzej Hajda <andrzej.hajda at intel.com>

Regards
Andrzej


>   	while (<IN>) {
>   		s/^\s+//;
>   		s/\s+$//;
> @@ -524,7 +524,7 @@ if ($func_filters) {
>   }
>   
>   if ($src_filters) {
> -	open IN, $src_filters || die "Can't open $src_filters";
> +	open IN, $src_filters or die "Can't open $src_filters";
>   	while (<IN>) {
>   		s/^\s+//;
>   		s/\s+$//;



More information about the igt-dev mailing list