|
@@ -964,7 +964,6 @@ START_TEST(test_encode_decode)
|
|
|
int ret;
|
|
|
size_t len;
|
|
|
|
|
|
-#if defined(USE_WEBSOCKET) || defined(USE_LUA)
|
|
|
const char *alpha_b64_enc = "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=";
|
|
|
const char *nonalpha_b64_enc =
|
|
|
"ICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9A";
|
|
@@ -972,43 +971,57 @@ START_TEST(test_encode_decode)
|
|
|
mark_point();
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)"a", 1, buf);
|
|
|
+ base64_encode((unsigned char *)"a", 1, buf, NULL);
|
|
|
ck_assert_str_eq(buf, "YQ==");
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)"ab", 1, buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)"ab", 1, buf, &len);
|
|
|
ck_assert_str_eq(buf, "YQ==");
|
|
|
+ ck_assert_int_eq((int)len, 5);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)"ab", 2, buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)"ab", 2, buf, &len);
|
|
|
ck_assert_str_eq(buf, "YWI=");
|
|
|
+ ck_assert_int_eq((int)len, 5);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)alpha, 3, buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)alpha, 3, buf, &len);
|
|
|
ck_assert_str_eq(buf, "YWJj");
|
|
|
+ ck_assert_int_eq((int)len, 5);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)alpha, 4, buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)alpha, 4, buf, &len);
|
|
|
ck_assert_str_eq(buf, "YWJjZA==");
|
|
|
+ ck_assert_int_eq((int)len, 9);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)alpha, 5, buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)alpha, 5, buf, &len);
|
|
|
ck_assert_str_eq(buf, "YWJjZGU=");
|
|
|
+ ck_assert_int_eq((int)len, 9);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)alpha, 6, buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)alpha, 6, buf, &len);
|
|
|
ck_assert_str_eq(buf, "YWJjZGVm");
|
|
|
+ ck_assert_int_eq((int)len, 9);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)alpha, (int)strlen(alpha), buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)alpha, (int)strlen(alpha), buf, &len);
|
|
|
ck_assert_str_eq(buf, alpha_b64_enc);
|
|
|
+ ck_assert_int_eq((int)len, (int)strlen(alpha_b64_enc) + 1);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
- base64_encode((unsigned char *)nonalpha, (int)strlen(nonalpha), buf);
|
|
|
+ len = 9999;
|
|
|
+ base64_encode((unsigned char *)nonalpha, (int)strlen(nonalpha), buf, &len);
|
|
|
ck_assert_str_eq(buf, nonalpha_b64_enc);
|
|
|
-#endif
|
|
|
+ ck_assert_int_eq((int)len, (int)strlen(nonalpha_b64_enc) + 1);
|
|
|
|
|
|
-#if defined(USE_LUA)
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
len = 9999;
|
|
|
ret = base64_decode((unsigned char *)alpha_b64_enc,
|
|
@@ -1016,14 +1029,13 @@ START_TEST(test_encode_decode)
|
|
|
buf,
|
|
|
&len);
|
|
|
ck_assert_int_eq(ret, -1);
|
|
|
- ck_assert_uint_eq((unsigned int)len, (unsigned int)strlen(alpha));
|
|
|
+ ck_assert_int_eq((int)len, (int)strlen(alpha) + 1);
|
|
|
ck_assert_str_eq(buf, alpha);
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
len = 9999;
|
|
|
ret = base64_decode((unsigned char *)"AAA*AAA", 7, buf, &len);
|
|
|
ck_assert_int_eq(ret, 3);
|
|
|
-#endif
|
|
|
|
|
|
memset(buf, 77, sizeof(buf));
|
|
|
ret = mg_url_encode(alpha, buf, sizeof(buf));
|