From b3f46fa8a890527996fd0288cf964b7f3567cd22 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 31 Jan 2011 00:27:53 +0200 Subject: [PATCH] lib-sql: Implemented sql_result_get_field_value_binary() for MySQL. --- src/lib-sql/driver-mysql.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/lib-sql/driver-mysql.c b/src/lib-sql/driver-mysql.c index 392d023e81..b103cfe17e 100644 --- a/src/lib-sql/driver-mysql.c +++ b/src/lib-sql/driver-mysql.c @@ -31,7 +31,7 @@ struct mysql_result { struct sql_result api; MYSQL_RES *result; - MYSQL_ROW row; + MYSQL_ROW row; MYSQL_FIELD *fields; unsigned int fields_count; @@ -406,12 +406,16 @@ driver_mysql_result_get_field_value(struct sql_result *_result, } static const unsigned char * -driver_mysql_result_get_field_value_binary(struct sql_result *_result ATTR_UNUSED, - unsigned int idx ATTR_UNUSED, - size_t *size_r ATTR_UNUSED) +driver_mysql_result_get_field_value_binary(struct sql_result *_result, + unsigned int idx, size_t *size_r) { - /* FIXME */ - return NULL; + struct mysql_result *result = (struct mysql_result *)_result; + unsigned long *lengths; + + lengths = mysql_fetch_lengths(result->result); + + *size_r = lengths[idx]; + return (const void *)result->row[idx]; } static const char * -- 2.47.3