v22.2b14/
v22.2b14/Win32/
v22.2b14/compat/
v22.2b14/testsuite/
v22.2b14/testsuite/clone/
v22.2b14/testsuite/command/
v22.2b14/testsuite/data/
v22.2b14/testsuite/etc/
v22.2b14/testsuite/include/
v22.2b14/testsuite/inherit/
v22.2b14/testsuite/inherit/master/
v22.2b14/testsuite/log/
v22.2b14/testsuite/single/
v22.2b14/testsuite/single/tests/compiler/
v22.2b14/testsuite/single/tests/efuns/
v22.2b14/testsuite/single/tests/operators/
v22.2b14/testsuite/u/
v22.2b14/tmp/
void break_string(string str, int width, mixed indent) {
    int indlen;
    
    if (!stringp(str)) return 0;
    if (intp(indent)) {
	if (ident < 0) indent = 0;
	indlen = indent;
	indent = sprintf("%-*' 's", indlen, "");
    } else if (stringp(indent)) {
	indlen = strlen(ident);
    } else return str;
    
    if (width < indlen + 1) width = indlen + 1;
    str = sprintf("%*-=s", width - indlen, str);
    if (!indlen) return str;

    if (str[<1] == '\n')
	return indent + replace_string(str[0..<2], "\n", "\n" + indent) + "\n";
    else
	return indent + replace_string(str, "\n", "\n" + indent);
}