diff options
author | Paul J Stevens <paul@nfg.nl> | 2010-08-05 00:34:43 +0200 |
---|---|---|
committer | Paul J Stevens <paul@nfg.nl> | 2010-08-05 00:34:43 +0200 |
commit | bf3ae1a8b55b65d248936e57d40fb18b9f4bf3d1 (patch) | |
tree | e3a1bb100f41489994d2d28b9bcdeb7097826542 | |
parent | e2d1ea8ce539da32d3d3ccae5824973ad3cc5588 (diff) |
use escape encode for retrieving messaga blobs
forward compatibility fix for postgresql 9 where
bytea is returned as hex streams by default.
-rw-r--r-- | src/dbmail-message.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/dbmail-message.c b/src/dbmail-message.c index 09527bd5..6b4bc303 100644 --- a/src/dbmail-message.c +++ b/src/dbmail-message.c @@ -294,21 +294,23 @@ static DbmailMessage * _mime_retrieve(DbmailMessage *self) volatile int t = FALSE; gboolean got_boundary = FALSE, prev_boundary = FALSE, is_header = TRUE, prev_header, finalized=FALSE; gboolean prev_is_message = FALSE, is_message = FALSE; - GString *m = NULL; + GString *m = NULL, *n = NULL; const void *blob; field_t frag; assert(dbmail_message_get_physid(self)); date2char_str("ph.internal_date", &frag); + n = g_string_new(""); + g_string_printf(n,db_get_sql(SQL_ENCODE_ESCAPE), "data"); c = db_con_get(); TRY - r = db_query(c, "SELECT l.part_key,l.part_depth,l.part_order,l.is_header,%s,data " + r = db_query(c, "SELECT l.part_key,l.part_depth,l.part_order,l.is_header,%s,%s " "FROM %smimeparts p " "JOIN %spartlists l ON p.id = l.part_id " "JOIN %sphysmessage ph ON ph.id = l.physmessage_id " "WHERE l.physmessage_id = %llu ORDER BY l.part_key,l.part_order ASC", - frag, DBPFX, DBPFX, DBPFX, dbmail_message_get_physid(self)); + frag, n->str, DBPFX, DBPFX, DBPFX, dbmail_message_get_physid(self)); m = g_string_new(""); |