* fix display (iter) of message size

This commit is contained in:
Dirk-Jan C. Binnema 2011-01-06 00:09:26 +02:00
parent 535f1c78fa
commit 5487989b99
3 changed files with 12 additions and 21 deletions

View File

@ -161,15 +161,9 @@ run_query (MuQuery *xapian, const gchar *query, MuConfig *opts,
rv = mu_output_plain (iter, opts->fields, opts->summary_len, rv = mu_output_plain (iter, opts->fields, opts->summary_len,
count); count);
break; break;
case FORMAT_XML: case FORMAT_XML: rv = mu_output_xml (iter, count); break;
rv = mu_output_xml (iter, count); case FORMAT_JSON: rv = mu_output_json (iter, count); break;
break; case FORMAT_SEXP: rv = mu_output_sexp (iter, count); break;
case FORMAT_JSON:
rv = mu_output_json (iter, count);
break;
case FORMAT_SEXP:
rv = mu_output_sexp (iter, count);
break;
default: default:
g_assert_not_reached (); g_assert_not_reached ();
return FALSE; return FALSE;

View File

@ -127,7 +127,7 @@ static const MuMsgField FIELD_DATA[] = {
MU_MSG_FIELD_ID_SIZE, MU_MSG_FIELD_ID_SIZE,
MU_MSG_FIELD_TYPE_BYTESIZE, MU_MSG_FIELD_TYPE_BYTESIZE,
"size", 'z', 'Z', /* siZe */ "size", 'z', 'Z', /* siZe */
FLAG_GMIME FLAG_GMIME | FLAG_XAPIAN_TERM | FLAG_XAPIAN_VALUE
}, },
{ {

View File

@ -212,15 +212,6 @@ mu_msg_iter_get_field_numeric (MuMsgIter *iter, MuMsgFieldId mfid)
} MU_XAPIAN_CATCH_BLOCK_RETURN(static_cast<gint64>(-1)); } MU_XAPIAN_CATCH_BLOCK_RETURN(static_cast<gint64>(-1));
} }
static long
get_field_number (MuMsgIter *iter, MuMsgFieldId mfid)
{
const char* str = mu_msg_iter_get_field(iter, mfid);
return str ? atol (str) : 0;
}
/* hmmm.... is it impossible to get a 0 docid, or just very improbable? */ /* hmmm.... is it impossible to get a 0 docid, or just very improbable? */
unsigned int unsigned int
mu_msg_iter_get_docid (MuMsgIter *iter) mu_msg_iter_get_docid (MuMsgIter *iter)
@ -292,8 +283,14 @@ size_t
mu_msg_iter_get_size (MuMsgIter *iter) mu_msg_iter_get_size (MuMsgIter *iter)
{ {
g_return_val_if_fail (!mu_msg_iter_is_done(iter), 0); g_return_val_if_fail (!mu_msg_iter_is_done(iter), 0);
return static_cast<size_t>(get_field_number
(iter, MU_MSG_FIELD_ID_SIZE)); try {
return static_cast<size_t>(
Xapian::sortable_unserialise(
mu_msg_iter_get_field
(iter,MU_MSG_FIELD_ID_SIZE)));
} MU_XAPIAN_CATCH_BLOCK_RETURN(0);
} }