Palm DBs
Once upon a time, I used to use
some tools for putting things into and
out of the
Palm DB database
format, so I thought I'd take another look.
The most recent version looks to be 0.3.3, but that hasn't been modified since 2002, so it looks like I'm on my own. Thanks to the magic of autoconf, a large fraction of the build works straight out of the box, but there's a couple of tweaks needed:
- modifying
*/Makefileto add the-Wno-long-doubleoption - modifying
flatfile/Makefileto setSTATIC=yesso that it builds a static library rather than a shared library (looks like another chunk of code that needs the--work-properlyoption).
Of course, now that I've built it, it doesn't workit claims my
PDB files are corrupt. After a bit of debugging, the problem seems
to be that it thinks there's a zero length record at the end of the
file. One quick and dirty hack to libflatfile/DB.cpp coming up:
*** old/DB.cpp Sun May 1 12:41:29 2005
--- new/DB.cpp Sun May 1 12:43:45 2005
***************
*** 450,455 ****
--- 450,456 ----
PalmLib::Record record = pdb.getRecord(i);
Record rec;
+ if (record.size() == 0) continue;
std::vector ptrs;
std::vector sizes;
parse_record(record, ptrs, sizes);
(in the main loop in PalmLib::FlatFile::DB::DB) ...and all seems to work.

0 Comments:
Post a Comment
<< Home