On Tue, Jul 02, 2019 at 11:43:39AM +0200, Bastien Nocera wrote:
> On Tue, 2019-07-02 at 10:08 +0100, Sean Young wrote:
> > On Mon, Jul 01, 2019 at 06:38:13PM +0200, Bastien Nocera wrote:
> > > Do our best to remove comments from each line we process from the
> > > keymap
> > > sources, so as to avoid commented duplicates and false positives
> > > sneaking in to the keymap definitions.
> > >
> > > Signed-off-by: Bastien Nocera <[email protected]>
> > > ---
> > > utils/keytable/gen_keytables.pl | 3 +++
> > > 1 file changed, 3 insertions(+)
> > >
> > > diff --git a/utils/keytable/gen_keytables.pl
> > > b/utils/keytable/gen_keytables.pl
> > > index 3dc74ba6..d73daf58 100755
> > > --- a/utils/keytable/gen_keytables.pl
> > > +++ b/utils/keytable/gen_keytables.pl
> > > @@ -138,6 +138,9 @@ sub parse_file($$)
> > > }
> > >
> > > if ($read) {
> > > + # Remove comments
> > > + ~ s#/\*.*?\*/##sg;
> > > + ~ s#.*\*/##sg;
> >
> > This doesn't solve the
> >
> > /* { 0x800ff40b, KEY_ENTER },
> > not used */
>
> This isn't in the current Linus kernel.
We might as well solve this properly and handle all cases.
> > case. Or // comments.
>
> And this isn't used anywhere in the kernel either.
That's wrong. They are used.
> Those are the 2 lines that would remove those comments but I can't test
> it. Note that if this was done properly, instead of fixing the bugs we
> encounter, the whole parsing would need to be redone.
>
> + ~ s#/\*.*?##sg;
> + ~ s#//.*##sg;
If you are unable to test it, I will fix it.
>
> > > if (m/(0x[\dA-Fa-
> > > f]+)[\s\,]+(KEY|BTN)(\_[^\s\,\}]+)/) {
> > > $out .= "$1 = \"$2$3\"\n";
> > > next;
> > > --
> > > 2.21.0
Sean