example: Fix customer database test on big endian.
authorAndreas Schneider <asn@cryptomilk.org>
Wed, 10 Jul 2013 10:53:34 +0000 (12:53 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Wed, 10 Jul 2013 10:53:34 +0000 (12:53 +0200)
example/customer_database.c
example/customer_database_test.c

index bd6fcdf2dd1275abea41e347327a0c2ad8548104..2d49e19fd23ac1045d257d9984a9d14b26e9b361 100644 (file)
@@ -42,8 +42,10 @@ unsigned int get_customer_id_by_name(
              "SELECT ID FROM CUSTOMERS WHERE NAME = %s", customer_name);
     number_of_results = connection->query_database(connection, query_string,
                                                    &results);
+
     if (number_of_results != 1) {
         return -1;
     }
-    return (unsigned int)(size_t) results[0];
+
+    return (unsigned int)*((int *)results);
 }
index 1d65ce4afd31c75703f469a6c61245fcdf8afa26..33364d90b55ab3ab936e9b142c4068f045e134e8 100644 (file)
@@ -30,8 +30,8 @@ static unsigned int mock_query_database(DatabaseConnection* const connection,
     (void) connection; /* unused */
     (void) query_string; /* unused */
 
-    *results = (void**)((size_t)mock());
-    return (unsigned int)mock();
+    *results = (void **)mock_ptr_type(int *);
+    return mock_ptr_type(int);
 }
 
 /* Mock of the connect to database function. */
@@ -68,12 +68,15 @@ static void test_get_customer_id_by_name(void **state) {
     };
     /* Return a single customer ID when mock_query_database() is called. */
     int customer_ids = 543;
+    int rc;
 
     (void) state; /* unused */
 
     will_return(mock_query_database, &customer_ids);
     will_return(mock_query_database, 1);
-    assert_int_equal(get_customer_id_by_name(&connection, "john doe"), 543);
+
+    rc = get_customer_id_by_name(&connection, "john doe");
+    assert_int_equal(rc, 543);
 }
 
 int main(void) {