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