On Saturday 2014-10-04 00:45, Peter Stuge wrote: > >Why did you add the talloc.h include? >- Because the file calls talloc_free(). >Why is talloc_free() called? >- To free memory allocated and returned by osmo_config_list_parse(). > >Symmetry then dictates that the talloc.h include belongs in msgfile.h, >as opposed to in all files which includes msgfile.h.
Certainly. I even concur with the symmetry argument, though I feel you have missed one point: Symmetry would desire that there be a osmo_config_list_free() function (or macro/static inline function), because the allocation method of "struct osmo_config_list" would be an implementation detail of osmo_config_list_parse(). >I really hope that makes sense. Headers usually do include their >dependencies, rather than require callers to do that on their own. As of yet though, talloc is not a "direct" dependency of msgfile.h, that is, there are no names used from talloc.h and `gcc -x c msgfile.h` will succeed. With a osmo_config_list_free() function/macro/SI, the talloc #include would always be at the callsite too, though the callsite is shifted.
