From: Jakub Narebski <jnareb@gmail.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: git@vger.kernel.org, Petr Baudis <pasky@suse.cz>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH] gitweb: fixes to gitweb feature check code
Date: Tue, 2 Dec 2008 02:53:06 +0100 [thread overview]
Message-ID: <200812020253.09430.jnareb@gmail.com> (raw)
In-Reply-To: <1228008844-12506-1-git-send-email-giuseppe.bilotta@gmail.com>
On Sun, 30 Nov 2008, Giuseppe Bilotta wrote:
> The gitweb_check_feature routine was being used for two different
> purposes: retrieving the actual feature value (such as the list of
> snapshot formats or the list of additional actions), and checking if a
> feature was enabled.
>
> This led to subtle bugs in feature checking code: gitweb_check_feature
> would return (0) for disabled features, so its use in scalar context
> would return true instead of false.
>
> To fix this issue and future-proof the code, we split feature value
> retrieval into its own gitweb_get_feature()function , and ensure that
retrieval into its own gitweb_get_feature() function, and ensure that
> the boolean feature check function gitweb_check_feature() always returns
> a scalar (precisely, the first/only item in the feature value list).
>
> Usage of gitweb_check_feature() across gitweb is replaced with
> gitweb_get_feature() where appropriate, and list evaluation of
> gitweb_check_feature() is demoted to scalar evaluation to prevent
> ambiguity. The few previously incorrect uses of gitweb_check_feature()
> in scalar context are left untouched because they are now correct.
>
> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
What I like about having all this, i.e. fix, futureproof and style
correction in one single patch is the fact that fix doesn't introduce
strange looking (gitweb_check_feature('bool_feat'))[0]... well, except
encapsulated in a subroutine.
>From all possible splits of this feature into series of up to three
patches I think I like the one with pure subroutine rename from *check*
to *get* least...
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2008-12-02 1:54 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Message-ID: <cb7bb73a0811291731g7f8770f7p89e924c00d2ab004@mail.gmail.com>
2008-11-30 1:34 ` [PATCH] gitweb: fixes to gitweb feature check code Giuseppe Bilotta
2008-12-02 1:53 ` Jakub Narebski [this message]
2008-12-02 10:43 ` [PATCHv3bis] " Giuseppe Bilotta
2008-12-03 2:18 ` Junio C Hamano
2008-12-02 21:55 ` [PATCH] " Junio C Hamano
2008-12-03 1:21 ` Jakub Narebski
2008-11-28 20:39 [PATCHv2 0/2] " Giuseppe Bilotta
2008-11-28 20:39 ` [PATCHv2 1/2] gitweb: " Giuseppe Bilotta
2008-11-28 20:39 ` [PATCHv2 2/2] gitweb: clean up git_check_feature() calls Giuseppe Bilotta
2008-11-29 11:15 ` [PATCHv2 2/2] gitweb: clean up gitweb_check_feature() calls Giuseppe Bilotta
2008-11-29 11:18 ` Jakub Narebski
2008-11-29 11:53 ` [PATCHv2ter " Giuseppe Bilotta
2008-11-29 20:39 ` Junio C Hamano
2008-11-29 21:00 ` Junio C Hamano
2008-11-29 21:12 ` [PATCH 2/3] gitweb: rename gitweb_check_feature to gitweb_get_feature Junio C Hamano
2008-11-29 21:16 ` [PATCH 3/3] gitweb: make gitweb_check_feature a boolean wrapper Junio C Hamano
2008-11-29 22:27 ` Giuseppe Bilotta
2008-11-30 0:23 ` Junio C Hamano
2008-11-30 1:31 ` Giuseppe Bilotta
2008-11-29 22:16 ` [PATCHv2ter 2/2] gitweb: clean up gitweb_check_feature() calls Giuseppe Bilotta
2008-11-29 22:26 ` Junio C Hamano
2008-11-29 22:36 ` Jakub Narebski
2008-11-29 22:38 ` Jakub Narebski
2008-11-30 0:31 ` [PATCHv2 1/2] gitweb: fixes to gitweb feature check code Jakub Narebski
2008-11-29 10:48 ` [PATCHv2 0/2] " Jakub Narebski
2008-11-29 11:13 ` Giuseppe Bilotta
-- strict thread matches above, loose matches on Subject: below --
2008-11-15 14:26 [PATCH] gitweb: " Giuseppe Bilotta
2008-11-16 15:30 ` Giuseppe Bilotta
2008-11-16 21:11 ` Junio C Hamano
2008-11-16 21:57 ` Giuseppe Bilotta
2008-11-17 1:02 ` Jakub Narebski
2008-11-17 6:10 ` Giuseppe Bilotta
2008-11-17 9:28 ` Jakub Narebski
2008-11-17 10:09 ` Junio C Hamano
2008-11-17 10:48 ` Jakub Narebski
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=200812020253.09430.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=giuseppe.bilotta@gmail.com \
--cc=pasky@suse.cz \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.