A simple patch which removes trailing semicolons after class definitions, and adds virtual destructors for a few classes, is below. The mailing list archives show one other patch for a different (yet probably relevant :) problem, and its from November 2003.
By the way, would be nice if someone added the package to Debian. The Makefile's make
clean
target isn't quite right, and make install
isn't
exactly correct either. Plus, I seem to be building this by hand every few
years, and it's so much easier to just apt-get
. And no, my plate is
already too full.
diff -ru palm-db-tools-0.3.6.orig/libpalm/Block.h palm-db-tools-0.3.6/libpalm/Block.h --- palm-db-tools-0.3.6.orig/libpalm/Block.h 2003-06-19 18:37:47.000000000 -0500 +++ palm-db-tools-0.3.6/libpalm/Block.h 2006-07-29 15:04:19.000000000 -0500 @@ -176,7 +176,7 @@ size_type m_size; }; -}; +} bool operator == (const PalmLib::Block& lhs, const PalmLib::Block& rhs); diff -ru palm-db-tools-0.3.6.orig/libpalm/File.h palm-db-tools-0.3.6/libpalm/File.h --- palm-db-tools-0.3.6.orig/libpalm/File.h 2003-06-19 18:37:47.000000000 -0500 +++ palm-db-tools-0.3.6/libpalm/File.h 2006-07-29 15:04:42.000000000 -0500 @@ -89,6 +89,6 @@ uid_map_t m_uid_map; }; -}; +} #endif diff -ru palm-db-tools-0.3.6.orig/libsupport/infofile.h palm-db-tools-0.3.6/libsupport/infofile.h --- palm-db-tools-0.3.6.orig/libsupport/infofile.h 2003-06-19 18:37:47.000000000 -0500 +++ palm-db-tools-0.3.6/libsupport/infofile.h 2006-07-29 15:07:08.000000000 -0500 @@ -33,6 +33,7 @@ { public: virtual void parse(int linenum, std::vector< std::string> array) = 0; + virtual ~Parser() {}; }; class ConfigParser: public Parser { @@ -40,6 +41,7 @@ ConfigParser(DataFile::CSVConfig& state) : m_Config(state) {} + virtual ~ConfigParser() {}; virtual void parse(int linenum, std::vector< std::string> array); private: DataFile::CSVConfig& m_Config; @@ -50,6 +52,7 @@ DatabaseParser(PalmLib::FlatFile::Database& db) : m_DB(db) {} + virtual ~DatabaseParser() {}; virtual void parse(int linenum, std::vector< std::string> array); private: PalmLib::FlatFile::Database& m_DB; @@ -60,6 +63,7 @@ TypeParser(std::string& p_Type) : m_Type(p_Type) {} + virtual ~TypeParser() {}; virtual void parse(int linenum, std::vector< std::string> array); private: std::string& m_Type;