RE: char-TPM: Adjustments for ten function implementations

From: Julia Lawall
Date: Wed Oct 18 2017 - 06:01:22 EST




On Wed, 18 Oct 2017, Alexander.Steffen@xxxxxxxxxxxx wrote:

> > On Wed, 2017-10-18 at 11:00 +0200, SF Markus Elfring wrote:
> > > > The printk removals do change the objects.
> > > >
> > > > The value of that type of change is only for resource limited systems.
> > >
> > > I imagine that such small code adjustments are also useful for other
> > systems.
> >
> > Your imagination and mine differ.
> > Where do you _think_ it matters?
> >
> > For instance, nothing about
> >
> > sizeof(type)
> > vs
> > sizeof(*ptr)
> >
> > makes it easier for a human to read the code.
>
> If it does not make it easier to read the code for you, then maybe you
> should consider that this might not be true for all humans. For me, it
> makes it much easier to see at a glance, that code like
> ptr=malloc(sizeof(*ptr)) is correct.

I don't think there is a perfect solution. The type argument to sizeof
could have the wrong type. The expression argument to sizeof could be
missing the *. Unpleasant consequences are possible in both cases.
Probably each maintainer has a style they prefer. Perhaps it could be
useful to adjust the code to follow the dominant strategy, in cases where
there are a inconsistencies. For example

if (...)
x = foo1(sizeof(struct xtype));
else
x = foo2(sizeof(*x));

might at least cause some unnecessary mental effort to process.

julia