Hi Edward,
thanks for bringing concepts of modern C to flashrom. +1 for using NULL
and then falling back to a default implementation in the logic. IMO it
makes the code much better.

-- Thomas

On Fri, 2022-09-09 at 12:15 +1000, Edward O'Callaghan via flashrom
wrote:
> Hello,
> 
> While refactoring flashrom.c to move towards a reentrant flashrom a
> pragmatic choice of utilising NULLity to represent the default state
> of a struct at instiation was used in the following and related
> commits - https://review.coreboot.org/c/flashrom/+/67391/
> 
> It was brought to my attention that this is perhaps considered a more
> substantive change to the general practice within flashrom and so I
> just wanted to give a brief prelude to the rationale and if anyone
> has any reason why they don't like it.
> 
> Basically using NULL as the default state rather than an invalid
> state allows for memory address by value to be in a boolean state of
> either 'defined to be default' or 'defined to be custom' - over that
> of a tristate of 'defiled to be default explicitly', 'defined to be
> custom' or NULL which must be manually validated as 'invalid'. This
> is quite pragmatic as we can rid ourselvesĀ of explicit nullarity
> checks at runtime and instead have always defined reasonable defaults
> at compile-time thus making functions domains more well defined at
> compile-time. It is also pragmatic and arguably more modern from the
> stand-point of requiring less code to effectively obtain a valid
> value from the instantiated type not unlike Rust's Default trait or
> Ada's ability to have default values in a Record and so on.
> 
> While not particularly novel I did want to follow up on the request
> to highlight it here.
> 
> Kindly,
> Edward.
> _______________________________________________
> flashrom mailing list -- flashrom@flashrom.org
> To unsubscribe send an email to flashrom-le...@flashrom.org

_______________________________________________
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org

Reply via email to