/*
// writef.c - Oct25/91 by Jubal
// This file is a part of the TMI distribution mudlib.
// Please retain the header if you use it.
*/
#include <writef.h>
string
writef( string str, int n, int flags )
{
int len, i;
if( ! str ) str = "";
len = strlen( str );
if( len < n )
{
if( flags & JFY_RIGHT )
{
str = extract( PAD, 0, n - len - 1 ) + str;
}
else
{
str += extract( PAD, 0, n - len - 1 );
}
}
else if( len > n )
{
if( ! ( flags & TRUNCATE ) )
{
str = extract( ERR, 0, n-1 );
}
else if( flags & TRUNC_RIGHT )
{
if( flags & TRUNC_ELL )
str = extract( str, 0, n - 4 ) + "...";
else
str = extract( str, 0, n - 1 );
}
else
{
if( flags & TRUNC_ELL )
str = "..." + extract( str, len - n + 3, len - 1 );
else
str = extract( str, len - n, len - 1 );
}
}
if( ! ( flags & QUIET ) ) write( str );
return str;
}