jkwast at freeler.nl
Thu Jun 24 03:36:48 EDT 2004
This is a followup on previous mail on doxygenizing the sources, dated
While working on "doxygen html output" for the sources I've encountered
a problem. I've begun to extract the number of structs, unions and
functions. So far I've come up with 626 (nested) structs and unions in
the main source tree (ie /$grass/src/) of 5.3.0 cvs. I'm still working
on the functions. Another statistic would be that there are 5491 pages
(== source files and probably more) with 'C code', as scripts are not
In 137 cases (20% of total) a struct or union (at least the name) is
declared more than once, up till 20 times for some. After short
reviewing I think that most are the same, in name and in programming
aspects. Main reasons are no central declaration in a (lib) header file,
copies of local header files. I'm not programmer enough yet to be able
to assess the impact on changing this, if wanted/needed at all.
In an example, 'struct shape_tree_node' is declared in 5 files:
With doxygen I can link every mention of 'struct shape_tree_node' to a
description page of this struct. I cannot however, point to every source
file, ie only 'mapdev/vect32_64/shapelib-1.2.8/shapefile.h' could for
instance be the only one mentioned.
This might not be a good example as most vector stuff is revised in
5.7.0, but I hope it explains, still 136 to go if not relevant anymore.
If anybody is interested I can send them my preliminary report on this,
and will proceed with the functions, allthough I suspect there will be
no problems with them.
In a couple of weeks I should be able to come up with a new script that
will put "doxygen html output" in a directory stucture, which reflects
the $grass/src structure, and provide a central index of structs, unions
and functions in alphabetical order.
Well everybody keep up the good work, still a lot to be done.
More information about the grass-dev