RE: char-TPM: Adjustments for ten function implementations

From: Alexander.Steffen
Date: Wed Oct 18 2017 - 06:44:17 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.

Maybe. But for the second variant the correctness is easier to check, both mentally and programmatically, because there is no need for any context (the type of ptr does not matter).

> 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.

Certainly. At least within a file, there should be only one style.

> For example
>
> if (...)
> x = foo1(sizeof(struct xtype));
> else
> x = foo2(sizeof(*x));
>
> might at least cause some unnecessary mental effort to process.
>
> julia

Alexander