There's a missing native 64-bit int implementations of operator>> in DBusMessageReader. I duplicated the dbus_int64_t and dbus_uint64_t implementations, which somebody else discovered too:
http://www.mail-archive.com/[email protected]/msg16660.html The approach seems sound to me, so patch below. Jon Index: strigi.info =================================================================== RCS file: /cvsroot/fink/dists/10.4/unstable/main/finkinfo/libs/strigi.info,v retrieving revision 1.8 diff -c -r1.8 strigi.info *** strigi.info 17 Jun 2009 02:56:54 -0000 1.8 --- strigi.info 15 Sep 2009 07:20:58 -0000 *************** *** 26,31 **** --- 26,33 ---- Source: http://www.vandenoever.info/software/strigi/strigi-%v.tar.bz2 Source-MD5: 7f265c331c02802e199b922e7b2a2292 SourceDirectory: strigi-%v + PatchFile: strigi.patch + PatchFile-MD5: 0c10067acf0b65b4744dc62f6f9d8ae4 CompileScript: << #!/bin/sh -ev Index: strigi.patch =================================================================== diff -rc strigi-0.6.5/src/daemon/dbus/dbuscpp/dbusmessagereader.cpp strigi-0.6.5-new/src/daemon/dbus/dbuscpp/dbusmessagereader.cpp *** strigi-0.6.5/src/daemon/dbus/dbuscpp/dbusmessagereader.cpp 2008-03-22 20:14:00.000000000 +0000 --- strigi-0.6.5-new/src/daemon/dbus/dbuscpp/dbusmessagereader.cpp 2009-09-15 08:16:57.000000000 +0100 *************** *** 74,79 **** --- 74,90 ---- return *this; } DBusMessageReader& + DBusMessageReader::operator>>(uint64_t& s) { + if (!isOk()) return *this; + if (DBUS_TYPE_UINT64 != dbus_message_iter_get_arg_type(&it)) { + close(); + return *this; + } + dbus_message_iter_get_basic(&it, &s); + dbus_message_iter_next(&it); + return *this; + } + DBusMessageReader& DBusMessageReader::operator>>(string& s) { if (!isOk()) return *this; if (DBUS_TYPE_STRING != dbus_message_iter_get_arg_type(&it)) { diff -rc strigi-0.6.5/src/daemon/dbus/dbuscpp/dbusmessagereader.h strigi-0.6.5-new/src/daemon/dbus/dbuscpp/dbusmessagereader.h *** strigi-0.6.5/src/daemon/dbus/dbuscpp/dbusmessagereader.h 2009-01-03 18:33:15.000000000 +0000 --- strigi-0.6.5-new/src/daemon/dbus/dbuscpp/dbusmessagereader.h 2009-09-15 08:12:52.000000000 +0100 *************** *** 64,69 **** --- 64,71 ---- DBusMessageReader& operator>>(dbus_uint32_t& s); DBusMessageReader& operator>>(dbus_uint64_t& s); DBusMessageReader& operator>>(dbus_int64_t& s); + DBusMessageReader& operator>>(int64_t& s); + DBusMessageReader& operator>>(uint64_t& s); DBusMessageReader& operator>>(std::multimap<int, std::string>&); DBusMessageReader& operator>>(std::vector<std::pair<bool, std::string> >&); bool isOk() const { return ok; } ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Fink-devel mailing list [email protected] http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel
