fix warning compilation libgnunetmy
authorChristophe Genevey Metat <genevey.christophe@gmail.com>
Wed, 25 May 2016 16:37:52 +0000 (16:37 +0000)
committerChristophe Genevey Metat <genevey.christophe@gmail.com>
Wed, 25 May 2016 16:37:52 +0000 (16:37 +0000)
src/my/my_result_helper.c
src/my/test_my.c

index f58c8e1507d106d48040e14c593416764a75cebd..cced2248225128fd4119228cf542904795f65c26 100644 (file)
@@ -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;
index 1ab6ef1b77f55bb407d83d14bb70e910c4416a3b..2df24d4445918b310ba9a87f2b8e5ab800d2ef83 100644 (file)
           #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;
 }