On Tue, 2021-03-09 at 17:44 +0000, Daniel P. Berrangé wrote:
One of the conventions we have had since the early days of libvirt
is
that every struct typedef, has a corresponding "Ptr" typedef too.
For example
typedef struct _virDomainDef virDomainDef;
typedef virDomainDef *virDomainDefPtr;
Periodically someone has questioned what the purpose of these Ptr
typedefs is, and we've not had an compelling answer, other than
that's what we've always done.
[...]
Does anyone have suggestions for how these "Ptr" typedefs are
benefiting libvirt ? Would anyone miss them ?
I consider them pointless obfuscation and would love to see them go.
Note that I'm not talking just about humans either: some tooling also
struggles a bit with the additional layer of indirection.
--
Andrea Bolognani / Red Hat / Virtualization