TEST_CHECK_STRCMP("", out);
}
-static void test_descape_until(void)
+static void test_unescape_until(void)
{
char const in[] = "i am a test string";
char const in_long[] = "i am a longer test string";
* set.
*/
TEST_CASE("Copy 5 bytes to out");
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 5,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 5,
(bool[UINT8_MAX + 1]){ }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(5, slen);
TEST_CHECK_STRCMP("i am ", out);
TEST_CHECK_STRCMP("a test string", sbuff.p);
TEST_CASE("Copy 13 bytes to out");
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 13,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 13,
(bool[UINT8_MAX + 1]){ }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(13, slen);
TEST_CHECK_STRCMP("a test string", out);
TEST_CHECK(sbuff.p == sbuff.end);
TEST_CASE("Copy would overrun input");
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 1,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 1,
(bool[UINT8_MAX + 1]){ }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(0, slen);
TEST_CHECK(sbuff.p == sbuff.end);
TEST_CASE("Copy would overrun output (and SIZE_MAX special value)");
fr_sbuff_init(&sbuff, in_long, sizeof(in_long));
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff,
SIZE_MAX, (bool[UINT8_MAX + 1]){ }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(18, slen);
TEST_CHECK_STRCMP("i am a longer test", out);
TEST_CASE("Zero length output buffer");
fr_sbuff_set_to_start(&sbuff);
out[0] = 'a';
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, (size_t)1), &sbuff,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, (size_t)1), &sbuff,
SIZE_MAX, (bool[UINT8_MAX + 1]){ }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(0, slen);
TEST_CHECK(out[0] == '\0'); /* should be set to \0 */
TEST_CASE("Zero length size");
fr_sbuff_set_to_start(&sbuff);
out[0] = 'a';
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 0,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, 0,
(bool[UINT8_MAX + 1]){ }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(0, slen);
TEST_CHECK(out[0] == '\0'); /* should be set to \0 */
*/
TEST_CASE("Copy until first t");
fr_sbuff_set_to_start(&sbuff);
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, SIZE_MAX,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, sizeof(out)), &sbuff, SIZE_MAX,
(bool[UINT8_MAX + 1]){ ['t'] = true }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(14, slen);
TEST_CHECK_STRCMP("i am a longer ", out);
TEST_CASE("Copy until first t with length constraint (same len as token)");
fr_sbuff_set_to_start(&sbuff);
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, 15), &sbuff, SIZE_MAX,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, 15), &sbuff, SIZE_MAX,
(bool[UINT8_MAX + 1]){ ['t'] = true }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(14, slen);
TEST_CHECK_STRCMP("i am a longer ", out);
TEST_CASE("Copy until first t with length constraint (one shorter than token)");
fr_sbuff_set_to_start(&sbuff);
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, 14), &sbuff, SIZE_MAX,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, 14), &sbuff, SIZE_MAX,
(bool[UINT8_MAX + 1]){ ['t'] = true }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(13, slen);
TEST_CHECK_STRCMP("i am a longer", out);
TEST_CASE("Zero length token (should still be terminated)");
fr_sbuff_set_to_start(&sbuff);
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(out, 14), &sbuff, SIZE_MAX,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(out, 14), &sbuff, SIZE_MAX,
(bool[UINT8_MAX + 1]){ ['i'] = true }, '\\', (char[UINT8_MAX + 1]){});
TEST_CHECK_SLEN(0, slen);
TEST_CHECK_STRCMP("", out);
*/
TEST_CASE("Escape with substition to same char");
fr_sbuff_init(&sbuff, in_escapes, sizeof(in_escapes));
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(escape_out, sizeof(escape_out)), &sbuff, SIZE_MAX,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(escape_out, sizeof(escape_out)), &sbuff, SIZE_MAX,
(bool[UINT8_MAX + 1]){ ['g'] = true },
'|',
(char[UINT8_MAX + 1]){ ['g'] = 'g' });
TEST_CASE("Escape with substition to different char");
fr_sbuff_init(&sbuff, in_escapes, sizeof(in_escapes));
- slen = fr_sbuff_out_descape_until(&FR_SBUFF_TMP(escape_out, sizeof(escape_out)), &sbuff, SIZE_MAX,
+ slen = fr_sbuff_out_unescape_until(&FR_SBUFF_TMP(escape_out, sizeof(escape_out)), &sbuff, SIZE_MAX,
(bool[UINT8_MAX + 1]){ ['g'] = true },
'|',
(char[UINT8_MAX + 1]){ ['g'] = 'h' });