Ik zit nu ff met een driver te spelen waar ik al een tijdje de maintainer van ben - ben bezig met grondig redesign van 't ding (code nog niet publiekelijk beschikbaar
). Nu heeft deze driver voor een enorm aantal variabelen een extra variabele - is_set. Het is een videokaart-achtig-iets driver, en hij heeft is_set opties voor de window, de framebuffer, de capture format, etc.
Nu vind ik dit behoorlijk lelijk, ik gebruik over het algemeen hiervoor de variabele zelf, waarbij NULL aangeeft dattie niet geset is...
Voorbeeldje:
buffer_set is 1 of nul, en de buffer zit dus in zoran.buffer.base. Nu zou ik dat dus zonder die int buffer_set doen en de zoran.buffer.base op NULL of non-NULL zetten om dit te doen - dat scheelt weer vier bytes en maakt het m.i. overzichtelijker (mits gedocumenteerd).
Echter, die module is geschreven door een bijzonder goede programmeur en ik heb dan zoiets van 'zou ik als n00b [..] dat wel moeten veranderen'. Ik wil dus graag voldoen aan de standaard linux kernel coding guidelines, want de driver zit in de kernel en moet daar ook blijven.
.
Weet iemand of hier een soort consensus voor is? Voorkeuren? Argumenten?
Nu vind ik dit behoorlijk lelijk, ik gebruik over het algemeen hiervoor de variabele zelf, waarbij NULL aangeeft dattie niet geset is...
Voorbeeldje:
code:
1
2
3
4
5
6
7
8
9
10
11
| struct video_buffer {
void *base;
[..]
};
struct zoran {
[..]
struct video_buffer buffer;
int buffer_set;
[..]
}; |
buffer_set is 1 of nul, en de buffer zit dus in zoran.buffer.base. Nu zou ik dat dus zonder die int buffer_set doen en de zoran.buffer.base op NULL of non-NULL zetten om dit te doen - dat scheelt weer vier bytes en maakt het m.i. overzichtelijker (mits gedocumenteerd).
Echter, die module is geschreven door een bijzonder goede programmeur en ik heb dan zoiets van 'zou ik als n00b [..] dat wel moeten veranderen'. Ik wil dus graag voldoen aan de standaard linux kernel coding guidelines, want de driver zit in de kernel en moet daar ook blijven.
Weet iemand of hier een soort consensus voor is? Voorkeuren? Argumenten?