From 4ed6ea74cc5ee8cdb7b31252ea86570be8268dde Mon Sep 17 00:00:00 2001 From: Christophe Genevey Metat Date: Wed, 25 May 2016 16:37:52 +0000 Subject: [PATCH] fix warning compilation libgnunetmy --- src/my/my_result_helper.c | 6 +- src/my/test_my.c | 219 +++++++++++++++++++++++--------------- 2 files changed, 138 insertions(+), 87 deletions(-) diff --git a/src/my/my_result_helper.c b/src/my/my_result_helper.c index f58c8e150..cced22482 100644 --- a/src/my/my_result_helper.c +++ b/src/my/my_result_helper.c @@ -406,7 +406,7 @@ extract_string (void * cls, field = mysql_fetch_field (result); //If it's the correct field - if (field == fname) + if (field->name == fname) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Field '%s' does not exist in result", @@ -504,7 +504,7 @@ extract_uint16 (void *cls, { //TO COMPLETE uint16_t *udst = dst; - const uint16_t *res; + uint16_t *res; MYSQL_ROW rows; MYSQL_FIELD * field; @@ -536,7 +536,7 @@ extract_uint16 (void *cls, return GNUNET_SYSERR; } - res = (uint16_t) rows[row]; + res = atoi (rows[row]); *udst = ntohs (*res); return GNUNET_OK; diff --git a/src/my/test_my.c b/src/my/test_my.c index 1ab6ef1b7..2df24d444 100644 --- a/src/my/test_my.c +++ b/src/my/test_my.c @@ -34,30 +34,26 @@ #GNUNET_OK on success #GNUNET_SYSERR on failure */ + +/** OK **/ static int mysql_prepare (MYSQL * mysql) { - MYSQL_RES *result; MYSQL_STMT *stmt; - stmt = mysql_stmt_init (mysql); -#define PREPARE (name, sql, ...) - do - { - result = mysql_stmt_prepare(stmt, name, sql, __VA_ARGS__); - if (result) - { - GNUNET_break (0); - mysql_stmt_free_result (stmt); - result = NULL; - return GNUNET_SYSERR; - } - mysql_stmt_free_result (stmt); - result = NULL; +#define PREPARE(name, sql, size) \ + do { \ + int ret = mysql_stmt_prepare (stmt, sql, size); \ + if (ret ) \ + { \ + GNUNET_break (0); \ + mysql_stmt_free_result (stmt); \ + return GNUNET_SYSERR; \ + } \ + mysql_stmt_free_result (stmt); \ } while (0); - PREPARE ("test_insert", - "INSERT INTO test_my (" + char *query1 = "INSERT INTO test_my (" "pub" ",sig" ",abs_time" @@ -68,12 +64,13 @@ mysql_prepare (MYSQL * mysql) ",u32" ",u64" ") VALUES " - "($1, $2, $3, $4, $5, $6, - $7, $8, $9);", - 9, NULL); + "(1, 2, 3, 4, 5, 6," + "7, 8, 9);"; + PREPARE("test_insert", + query1, + strlen (query1)); - PREPARE ("test_select", - "SELECT" + char *query2 = "SELECT" "pub" ",sig" ",abs_time" @@ -85,8 +82,12 @@ mysql_prepare (MYSQL * mysql) ",u64" " FROM test_my" " ORDER BY abs_time DESC" - " LIMIT 1;", - 0, NULL); + " LIMIT 1;"; + + PREPARE("test_select", + query2, + strlen (query2)); + return GNUNET_OK; #undef PREPARE } @@ -97,35 +98,37 @@ mysql_prepare (MYSQL * mysql) * @param mysql coonection handle to initialize * @return 0 on succes */ + +/*** FIXE THIS FUNCTION ***/ static int run_queries (MYSQL * mysql) { struct GNUNET_CRYPTO_RsaPublicKey *pub; - struct GNUNET_CRYPTO_RsaPublicKey *pub2 = NULL; +// struct GNUNET_CRYPTO_RsaPublicKey *pub2 = NULL; struct GNUNET_CRYPTO_RsaSignature *sig; - struct GNUNET_CRYPTO_RsaSignature *sig2 = NULL; +// struct GNUNET_CRYPTO_RsaSignature *sig2 = NULL; struct GNUNET_TIME_Absolute abs_time = GNUNET_TIME_absolute_get () ; - struct GNUNET_TIME_Absolute abs_time2; +// struct GNUNET_TIME_Absolute abs_time2; struct GNUNET_TIME_Absolute forever = GNUNET_TIME_UNIT_FOREVER_ABS; - struct GNUNET_TIME_Absolute forever2; + // struct GNUNET_TIME_Absolute forever2; struct GNUNET_HashCode hc; - struct GNUNET_HashCode hc2; - MYSQL_RES * result; - int ret; +// struct GNUNET_HashCode hc2; +// MYSQL_RES * result; +// int ret; struct GNUNET_CRYPTO_RsaPrivateKey *priv; const char msg[] = "hello"; - void *msg2; +// void *msg2; struct GNUNET_HashCode hmsg; - size_t msg2_len; +// size_t msg2_len; uint16_t u16; - uint16_t u162; + // uint16_t u162; uint32_t u32; - uint32_t u322; + // uint32_t u322; uint64_t u64; - uint64_t u642; + // uint64_t u642; priv = GNUNET_CRYPTO_rsa_private_key_create (1024); - pub = GNUNET_CRYPTO_rsa_private_key_get_public (priv); + pub = GNUNET_CRYPTO_rsa_private_key_get_public (priv); memset (&hmsg, 42, sizeof (hmsg)); sig = GNUNET_CRYPTO_rsa_sign_fdh (priv, &hmsg); @@ -133,40 +136,87 @@ run_queries (MYSQL * mysql) u32 = 32; u64 = 64; - { + struct GNUNET_CONFIGURATION_Handle * configuration_handle; + configuration_handle = GNUNET_CONFIGURATION_create(); + + char *query1 = "INSERT INTO test_my (" + "pub" + ",sig" + ",abs_time" + ",forever" + ",hash" + ",vsize" + ",u16" + ",u32" + ",u64" + ") VALUES " + "(1, 2, 3, 4, 5, 6," + "7, 8, 9);"; + +/* char *query2 = "SELECT" + "pub" + ",sig" + ",abs_time" + ",forever" + ",hash" + ",vsize" + ",u16" + ",u32" + ",u64" + " FROM test_my" + " ORDER BY abs_time DESC" + " LIMIT 1;"; +*/ + struct GNUNET_MYSQL_Context *context_insert = NULL; + // context_insert = GNUNET_MYSQL_context_create (configuration_handle, + // NULL); + + struct GNUNET_MYSQL_StatementHandle *statements_handle = NULL; + // statements_handle = GNUNET_MYSQL_statement_prepare(context_insert, query1); + + + // { struct GNUNET_MY_QueryParam params_insert[] = { - GNUNET_MY_query_param_rsa_public_key (pub), - GNUNET_MY_query_param_rsa_signature (sig), - GNUNET_MY_query_param_absolute_time (&abs_time), - GNUNET_MY_query_param_absolute_time (&forever), - GNUNET_MY_query_param_auto_from_type (&hc), - GNUNET_MY_query_param_fixed_size (msg, strlen (msg)), - GNUNET_MY_query_param_uint16 (&u16), - GNUNET_MY_query_param_uint32 (&u32), - GNUNET_MY_query_param_uint64 (&u64), - GNUNET_MY_query_param_end + GNUNET_MY_query_param_rsa_public_key (pub), + GNUNET_MY_query_param_rsa_signature (sig), + GNUNET_MY_query_param_absolute_time (&abs_time), + GNUNET_MY_query_param_absolute_time (&forever), + GNUNET_MY_query_param_auto_from_type (&hc), + GNUNET_MY_query_param_fixed_size (msg, strlen (msg)), + GNUNET_MY_query_param_uint16 (&u16), + GNUNET_MY_query_param_uint32 (&u32), + GNUNET_MY_query_param_uint64 (&u64), + GNUNET_MY_query_param_end }; - struct GNUNET_MY_QueryParam params_select[] = { +/* struct GNUNET_MY_QueryParam params_select[] = { GNUNET_MY_query_param_end }; - struct GNUNET_MY_ResultSpec results_select[] = { - GNUNET_MY_result_spec_rsa_public_key ("pub", &pub2), - GNUNET_MY_result_spec_rsa_signature ("sig", &sig2), - GNUNET_MY_result_spec_absolute_time ("abs_time", &abs_time2), - GNUNET_MY_result_spec_absolute_time ("forever", &forever2), - GNUNET_MY_result_spec_auto_from_type ("hash", &hc2), - GNUNET_MY_result_spec_variable_size ("vsize", &msg2, &msg2_len), - GNUNET_MY_result_spec_uint16 ("u16", &u162), - GNUNET_MY_result_spec_uint32 ("u32", &u322), - GNUNET_MY_result_spec_uint64 ("u64", &u642), - GNUNET_MY_result_epc_end + struct GNUNET_MY_Context *context_insert[] = { + }; - if(GNUNET_MY_exec_prepared ( mysql, - "test_insert", - params_insert)) + struct GNUNET_MY_StatementHandle *statement_insert[] = { + + }; +*/ +/* struct GNUNET_MY_ResultSpec results_select[] = { + GNUNET_MY_result_spec_rsa_public_key (&pub2), + GNUNET_MY_result_spec_rsa_signature (&sig2), + GNUNET_MY_result_spec_absolute_time (&abs_time2), + GNUNET_MY_result_spec_absolute_time (&forever2), + GNUNET_MY_result_spec_auto_from_type (&hc2), + GNUNET_MY_result_spec_variable_size (&msg2, &msg2_len), + GNUNET_MY_result_spec_uint16 (&u162), + GNUNET_MY_result_spec_uint32 (&u322), + GNUNET_MY_result_spec_uint64 (&u642), + GNUNET_MY_result_spec_end + }; +*/ + if(GNUNET_MY_exec_prepared ( context_insert, + statements_handle, + params_insert)); { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Database failure: \n"); @@ -175,14 +225,14 @@ run_queries (MYSQL * mysql) GNUNET_CRYPTO_rsa_signature_free (sig); GNUNET_CRYPTO_rsa_private_key_free (priv); - GNUNET_CYPTO_rsa_public_key_free (pub); + GNUNET_CRYPTO_rsa_public_key_free (pub); return 1; } //free result - result = GNUNET_MY_exec_prepared (mysql, "test_select", params_select); -/* if(1 != mysql_fetch_length (result)) +/* result = GNUNET_MY_exec_prepared (mysql, "test_select", params_select); + if(1 != mysql_fetch_length (result)) { GNUNET_break (0); GNUNET_CRYPTO_rsa_signature_free (sig); @@ -191,7 +241,7 @@ run_queries (MYSQL * mysql) return 1; } -*/ + if (GNUNET_MY_exec_prepared (mysql , "test_select" , params_select)) @@ -205,7 +255,7 @@ run_queries (MYSQL * mysql) } - ret = GNUNET_MY_extract_result (result, +/* ret = GNUNET_MY_extract_result (result, results_select, 0); GNUNET_break (GNUNET_YES == ret); @@ -237,15 +287,16 @@ run_queries (MYSQL * mysql) if (GNUNET_OK != ret) return 1; - return 0; + */ return 0; } +/** OK **/ int main (int argc, const char * const argv[]) { - MYSQL *mysql; + MYSQL mysql ; // MYSQL_RES *result; int ret; @@ -255,9 +306,9 @@ main (int argc, const char * const argv[]) char *mdp = ""; char *database = ""; - mysql_init (mysql); + mysql_init (&mysql); - mysql_options (mysql, + mysql_options (&mysql, MYSQL_READ_DEFAULT_GROUP, NULL); @@ -265,7 +316,7 @@ main (int argc, const char * const argv[]) "WARNING", NULL); - if (! mysql_real_connect (mysql + if ( mysql_real_connect (&mysql ,hote ,pseudo ,mdp,database @@ -276,13 +327,13 @@ main (int argc, const char * const argv[]) { fprintf( stderr, "Cannot run test, database connection failed : %s\n", - mysql_error (mysql)); + mysql_error (&mysql)); GNUNET_break (0); return 0; } - if (mysql_query (mysql, "CREATE TABLE test_my(" + if (mysql_query (&mysql, "CREATE TABLE test_my(" "pub INT" ", sig INT" ", abs_time BIGINT" @@ -296,32 +347,32 @@ main (int argc, const char * const argv[]) { fprintf (stderr, "Failed to create table : %s\n", - mysql_error (mysql)); + mysql_error (&mysql)); - mysql_close (mysql); + mysql_close (&mysql); return 1; } if (GNUNET_OK != - mysql_prepare (mysql)) + mysql_prepare (&mysql)) { GNUNET_break (0) ; - mysql_close (mysql); + mysql_close (&mysql); return 1; } - ret = run_queries (mysql); + ret = run_queries (&mysql); - if (mysql_query (mysql, + if (mysql_query (&mysql, "DROP TABLE test_my;")) { fprintf (stderr, "Failed to drop table : %s\n", - mysql_error (mysql)); - mysql_close (mysql); + mysql_error (&mysql)); + mysql_close (&mysql); return 1; } - mysql_close (mysql); + mysql_close (&mysql); return ret; } -- 2.25.1