[systemd-devel] [RFC 05/12] gfx: add sd-gfx library with unifont section
Lennart Poettering
lennart at poettering.net
Tue Dec 10 16:43:51 PST 2013
On Thu, 28.11.13 09:32, David Herrmann (dh.herrmann at gmail.com) wrote:
> >> + sd_gfx_font *font;
> >> + int r;
> >> +
> >> + ppi = CLAMP(ppi, 10U, 1000U);
> >> +
> >> + font = calloc(1, sizeof(*font));
> >
> > font = new0(sd_gfx_font, 1);
>
> I actually dislike new0() to require the type. I'd prefer:
> font = new0(font);
> But this is horrible to read, so I went with calloc(1, sizeof(*xyz));
> But the systemd code-base seems to use new0() consistently so I can
> adjust all my calloc()s if you want? I'm fine with keeping consistency
> here.
I'd really prefer that. Not that new() is a glibc thing, where they have
g_new(). Of all the type-safe macros for allocation I certainly like it
the best...
> > For public APIs we are pretty defensive and check all parameters we
> > take. Given you kinda made this a public library it might make sense to
> > follow that rule here, too. assert_return() is particularly useful for
> > this. (Well, not for the instance above, bug if you return a negative
> > errno it is super-useful).
>
> I wanna avoid these in fast-paths (the blending/blitting functions)
> but for all the other ones, I can add assert()s.
Yes, please do not add assert()s in inner loops!
I mean, the whole assert() story is not that definitive either. I add
them to a lot of functions, but I can totally understand when people
think I am adding to many of them....
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list