Tak jsem trochu smutnej z toho. Ja tady poctive odpovidam Blekovi na jeho vtipne komentare a ted se dovidam, ze je to Nepravy Blek. A pravy Blek si doma zatim hackuje kernel. To jsem teda pekne naletel. Jak Babisovi :((
(Souhlasím se zpracováním osobních údajů za účelem přidání názoru do diskuse --- vubec)
Pravy Blek si to pred lety v Bohnicich promyslel, na zeny se vybod a bastli kernel kdesi v RedHatu https://patchwork.kernel.org/project/linux-block/list/?submitter=553
https://patchwork.kernel.org/patch/10070731/
Remove useless assignment to the variable "split" because the variable is
unconditionally assigned later.
- struct bio *split = NULL;
+ struct bio *split;
Vážení přátelé, takhle tedy NE!
Nějaký překladač C šikanuje za nainicializované proměnné??
Já bych za to naopak chválil. I když je to dále bezpodmínečně nainicializováno. Však to je věc překladače, aby takovou banalitu, jako je zbytečná inicializace, zjistil a optimalizoval. A i když to nepřeskočí, tak kolik to vyprodukuje ztracených cyklů procesoru? Dnes už nic podstatného!
Tak teda nevím, kernel opravdu neudržuji, ale ten null je dobrá praxe a zabraňuje se tak někdy obtížně odhalitelným chybám v kódu, kdy "vlající" ukazatel ukazuje shodou náhod na použitelnou oblast v paměti, takže program hned nezhavaruje. Takhle má člověk zajištěno, že pokud se náhodou stane, že ukazatel použije před jeho inicializací, program zhavaruje okamžitě a chyba se ihned projeví. Za mě na tom není vůbec nic špatného a co jsem četl, bylo by dobré tak postupovat vždy. Ne že bych to dělal .;-)