>When compiled on RedHat Linux with or without GCC3, tsid 0.6 gives many warnings in many places. This might be important.
At the moment I'm still using the 2.96 GCC on RedHat, and yes there are warning.
However you should found warning only when compiling the part of the library used for examining the stored data (tsidexaminer), not the part that store them (tsid, sidt) and in 'examiner' for the related TSID programs,
because with the work of Simon White onto TSID 0.6, I think he remove lot of possible problems form the library that now are more reliable than before.
The warnings (that not appears in Windows compilation) are these:
>O2 -Wall -c tsidexaminer.cpp
>In file included from tsidexaminer.cpp:34:
>tsidexaminer.h:343: warning: `class TSIDExaminer' has virtual functions
>but non-virtual destructor
This is a valid warning, but in the use I did in the derived class (tsidex) no derived destructor is needed, so I think that make it virtual is in-influent (probably not OOP good?).
>tsidexaminer.cpp: In method `void TSIDExaminer::mergeAuthorList ()':
>tsidexaminer.cpp:317: warning: `TSIDExaminer::tuneItem *start' might be
>used uninitialized in this function
When I saw this I look carefully in the code. There are some if statements and I was sure the variable was initialized correctly before use it.
But, never say never, the variable is effectively non initialized before the use if there is only one element.
Just try now: 'examiner' will produce a segmentation fault if there is only one stored information!!
Thanks for the spotting, I think that I must look for the 0.7 version soon..
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When compiled on RedHat Linux with or without GCC3, tsid 0.6 gives many warnings in many places. This might be important.
>When compiled on RedHat Linux with or without GCC3, tsid 0.6 gives many warnings in many places. This might be important.
At the moment I'm still using the 2.96 GCC on RedHat, and yes there are warning.
However you should found warning only when compiling the part of the library used for examining the stored data (tsidexaminer), not the part that store them (tsid, sidt) and in 'examiner' for the related TSID programs,
because with the work of Simon White onto TSID 0.6, I think he remove lot of possible problems form the library that now are more reliable than before.
The warnings (that not appears in Windows compilation) are these:
>O2 -Wall -c tsidexaminer.cpp
>In file included from tsidexaminer.cpp:34:
>tsidexaminer.h:343: warning: `class TSIDExaminer' has virtual functions
>but non-virtual destructor
This is a valid warning, but in the use I did in the derived class (tsidex) no derived destructor is needed, so I think that make it virtual is in-influent (probably not OOP good?).
>tsidexaminer.cpp: In method `void TSIDExaminer::mergeAuthorList ()':
>tsidexaminer.cpp:317: warning: `TSIDExaminer::tuneItem *start' might be
>used uninitialized in this function
When I saw this I look carefully in the code. There are some if statements and I was sure the variable was initialized correctly before use it.
But, never say never, the variable is effectively non initialized before the use if there is only one element.
Just try now: 'examiner' will produce a segmentation fault if there is only one stored information!!
Thanks for the spotting, I think that I must look for the 0.7 version soon..