- {"foo_____bar", 3, 8, " - ", "foo - bar"}, /* documentation example */
- {"foo bar", 0, 2, "m", "mo bar"}, /* beginning, shorten */
- {"foo bar", 0, 1, "m", "moo bar"}, /* beginning, same length */
- {"foo bar", 0, 3, "milk", "milk bar"}, /* beginning, extend */
- {"foo bar", 3, 6, "de", "fooder"}, /* center, shorten */
- {"foo bar", 2, 6, "rste", "forster"}, /* center, same length */
- {"foo bar", 1, 3, "ish", "fish bar"}, /* center, extend */
- {"foo bar", 2, 7, "ul", "foul"}, /* end, shorten */
- {"foo bar", 3, 7, "lish", "foolish"}, /* end, same length */
- {"foo bar", 3, 7, "dwear", "foodwear"}, /* end, extend */
- /* truncation (buffer is 16 chars) */
- {"01234567890123", 8, 8, "", "01234567890123"},
- {"01234567890123", 8, 8, "*", "01234567*890123"},
- {"01234567890123", 8, 8, "**", "01234567**89012"},
- /* input > buffer */
- {"012345678901234----", 0, 0, "", "012345678901234"},
- {"012345678901234----", 17, 18, "", "012345678901234"},
- {"012345678901234----", 0, 3, "", "345678901234---"},
- {"012345678901234----", 0, 4, "", "45678901234----"},
- {"012345678901234----", 0, 5, "", "5678901234----"},
- {"012345678901234----", 8, 8, "#", "01234567#890123"},
- {"012345678901234----", 12, 12, "##", "012345678901##2"},
- {"012345678901234----", 13, 13, "##", "0123456789012##"},
- {"012345678901234----", 14, 14, "##", "01234567890123#"},
- {"012345678901234----", 15, 15, "##", "012345678901234"},
- {"012345678901234----", 16, 16, "##", "012345678901234"},
- /* error cases */
- {NULL, 3, 4, "_", NULL}, /* no input */
- {"foo bar", 3, 10, "_", NULL}, /* offset exceeds input */
- {"foo bar", 10, 13, "_", NULL}, /* offset exceeds input */
- {"foo bar", 4, 3, "_", NULL}, /* off1 > off2 */
- {"foo bar", 3, 4, NULL, NULL}, /* no replacement */
+ {"foo_____bar", 3, 8, " - ", "foo - bar"}, /* documentation example */
+ {"foo bar", 0, 2, "m", "mo bar"}, /* beginning, shorten */
+ {"foo bar", 0, 1, "m", "moo bar"}, /* beginning, same length */
+ {"foo bar", 0, 3, "milk", "milk bar"}, /* beginning, extend */
+ {"foo bar", 3, 6, "de", "fooder"}, /* center, shorten */
+ {"foo bar", 2, 6, "rste", "forster"}, /* center, same length */
+ {"foo bar", 1, 3, "ish", "fish bar"}, /* center, extend */
+ {"foo bar", 2, 7, "ul", "foul"}, /* end, shorten */
+ {"foo bar", 3, 7, "lish", "foolish"}, /* end, same length */
+ {"foo bar", 3, 7, "dwear", "foodwear"}, /* end, extend */
+ /* truncation (buffer is 16 chars) */
+ {"01234567890123", 8, 8, "", "01234567890123"},
+ {"01234567890123", 8, 8, "*", "01234567*890123"},
+ {"01234567890123", 8, 8, "**", "01234567**89012"},
+ /* input > buffer */
+ {"012345678901234----", 0, 0, "", "012345678901234"},
+ {"012345678901234----", 17, 18, "", "012345678901234"},
+ {"012345678901234----", 0, 3, "", "345678901234---"},
+ {"012345678901234----", 0, 4, "", "45678901234----"},
+ {"012345678901234----", 0, 5, "", "5678901234----"},
+ {"012345678901234----", 8, 8, "#", "01234567#890123"},
+ {"012345678901234----", 12, 12, "##", "012345678901##2"},
+ {"012345678901234----", 13, 13, "##", "0123456789012##"},
+ {"012345678901234----", 14, 14, "##", "01234567890123#"},
+ {"012345678901234----", 15, 15, "##", "012345678901234"},
+ {"012345678901234----", 16, 16, "##", "012345678901234"},
+ /* error cases */
+ {NULL, 3, 4, "_", NULL}, /* no input */
+ {"foo bar", 3, 10, "_", NULL}, /* offset exceeds input */
+ {"foo bar", 10, 13, "_", NULL}, /* offset exceeds input */
+ {"foo bar", 4, 3, "_", NULL}, /* off1 > off2 */
+ {"foo bar", 3, 4, NULL, NULL}, /* no replacement */