Title: Fix compile error on some platforms DEP: 3 Last-Update: 2012-12-06 Forwarded: http://code.google.com/p/stringencoders/issues/detail?id=32 Abstract: stringencoders fails to build from source on some platforms, including armel, powerpc and s390 because of bad casting from -1 to 255 in the testsuite. This patch fixes this, testing 255 instead of -1 on values that were originally initialized as 255. Author: Roland Stigge <stigge@antcom.de> --- test/modp_b64_test.c | 18 +++++++++--------- test/modp_b85_test.c | 12 ++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) --- stringencoders-3.10.3.orig/test/modp_b64_test.c +++ stringencoders-3.10.3/test/modp_b64_test.c @@ -16,7 +16,7 @@ static char* testEndian() { // this test that "1" is "AAAB" char buf[100]; - char result[10]; + unsigned char result[10]; char endian[] = {(char)0, (char)0, (char)1}; int d = modp_b64_encode(buf, endian, 3); mu_assert_int_equals(4, d); @@ -31,7 +31,7 @@ static char* testEndian() mu_assert_int_equals(0, result[0]); mu_assert_int_equals(0, result[1]); mu_assert_int_equals(1, result[2]); - mu_assert_int_equals(-1, result[3]); + mu_assert_int_equals(255, result[3]); return 0; } @@ -70,7 +70,7 @@ static char* testPadding() char msg[100]; const char ibuf[6] = {1,1,1,1,1,1}; char obuf[10]; - char rbuf[10]; + unsigned char rbuf[10]; int d = 0; // 1 in, 4 out @@ -83,7 +83,7 @@ static char* testPadding() d = modp_b64_decode(rbuf, obuf, d); mu_assert_int_equals_msg(msg, 1, d); mu_assert_int_equals(1, rbuf[0]); - mu_assert_int_equals(-1, rbuf[1]); + mu_assert_int_equals(255, rbuf[1]); // 2 in, 4 out memset(obuf, 255, sizeof(obuf)); @@ -96,7 +96,7 @@ static char* testPadding() mu_assert_int_equals_msg(msg, 2, d); mu_assert_int_equals_msg(msg, 1, rbuf[0]); mu_assert_int_equals_msg(msg, 1, rbuf[1]); - mu_assert_int_equals_msg(msg, -1, rbuf[2]); + mu_assert_int_equals_msg(msg, 255, rbuf[2]); // 3 in, 4 out memset(obuf, 255, sizeof(obuf)); @@ -110,7 +110,7 @@ static char* testPadding() mu_assert_int_equals_msg(msg, 1, rbuf[0]); mu_assert_int_equals_msg(msg, 1, rbuf[1]); mu_assert_int_equals_msg(msg, 1, rbuf[2]); - mu_assert_int_equals_msg(msg, -1, rbuf[3]); + mu_assert_int_equals_msg(msg, 255, rbuf[3]); // 4 in, 8 out memset(obuf, 255, sizeof(obuf)); @@ -125,7 +125,7 @@ static char* testPadding() mu_assert_int_equals(1, rbuf[1]); mu_assert_int_equals(1, rbuf[2]); mu_assert_int_equals(1, rbuf[3]); - mu_assert_int_equals(-1, rbuf[4]); + mu_assert_int_equals(255, rbuf[4]); // 5 in, 8 out memset(obuf, 255, sizeof(obuf)); @@ -141,7 +141,7 @@ static char* testPadding() mu_assert_int_equals(1, rbuf[2]); mu_assert_int_equals(1, rbuf[3]); mu_assert_int_equals(1, rbuf[4]); - mu_assert_int_equals(-1, rbuf[5]); + mu_assert_int_equals(255, rbuf[5]); // 6 in, 8 out memset(obuf, 255, sizeof(obuf)); @@ -158,7 +158,7 @@ static char* testPadding() mu_assert_int_equals(1, rbuf[3]); mu_assert_int_equals(1, rbuf[4]); mu_assert_int_equals(1, rbuf[5]); - mu_assert_int_equals(-1, rbuf[6]); + mu_assert_int_equals(255, rbuf[6]); return 0; } --- stringencoders-3.10.3.orig/test/modp_b85_test.c +++ stringencoders-3.10.3/test/modp_b85_test.c @@ -16,7 +16,7 @@ static char* testEndian() { // this test that "1" is "!!!!#" char buf[100]; - char result[10]; + unsigned char result[10]; char endian[] = {(char)0, (char)0, (char)0, (char)1}; int d = modp_b85_encode(buf, endian, 4); mu_assert_int_equals(5, d); @@ -33,7 +33,7 @@ static char* testEndian() mu_assert_int_equals(0, result[1]); mu_assert_int_equals(0, result[2]); mu_assert_int_equals(1, result[3]); - mu_assert_int_equals(-1, result[4]); + mu_assert_int_equals(255, result[4]); return 0; } @@ -83,9 +83,9 @@ static char* testBadCharDecode() static char* testEncodeDecode() { - char ibuf[10]; /* input */ - char obuf[10]; /* output */ - char rbuf[10]; /* final result */ + unsigned char ibuf[10]; /* input */ + unsigned char obuf[10]; /* output */ + unsigned char rbuf[10]; /* final result */ int d; int i,j,k,l; for (i = 0; i < 256; ++i) { @@ -107,7 +107,7 @@ static char* testEncodeDecode() mu_assert_int_equals(ibuf[1], rbuf[1]); mu_assert_int_equals(ibuf[2], rbuf[2]); mu_assert_int_equals(ibuf[3], rbuf[3]); - mu_assert_int_equals(-1, rbuf[4]); + mu_assert_int_equals(255, rbuf[4]); } } }