void SQLiteBundleSet::get_bundleid(SQLiteDatabase::Statement &st, dtn::data::BundleID &id, int offset) const throw (SQLiteDatabase::SQLiteQueryException) { id.source = dtn::data::EID((const char*)sqlite3_column_text(*st, offset + 0)); id.timestamp = sqlite3_column_int64(*st, offset + 1); id.sequencenumber = sqlite3_column_int64(*st, offset + 2); dtn::data::Number fragmentoffset = 0; id.setFragment(sqlite3_column_int64(*st, offset + 2) >= 0); if (id.isFragment()) { id.fragmentoffset = sqlite3_column_int64(*st, offset + 3); id.setPayloadLength(sqlite3_column_int64(*st, offset + 4)); } else { id.fragmentoffset = 0; id.setPayloadLength(0); } }