Shows Exits as:
	Normal: south
	Closed: [south]
	Locked: [south]
	DT    : ***SOUTH***

void do_exits( CHAR_DATA *ch, char *argument )
{
    char buf[MAX_STRING_LENGTH];
    EXIT_DATA *pexit;
    bool found, closed=FALSE, locked=FALSE, DT=FALSE;
    bool fAuto;
    int  spaces;

    set_char_color( AT_EXITS, ch );
    fAuto  = !str_cmp( argument, "auto" );

    if ( !check_blind(ch) )
	return;

    strcpy( buf, fAuto ? "&WExits:" : "&WObvious exits:\n\r" );

    found = FALSE;
    for ( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
    {
	if ( pexit->to_room
	&&  !IS_SET(pexit->exit_info, EX_SECRET)
	&& (!IS_SET(pexit->exit_info, EX_WINDOW)
	||   IS_SET(pexit->exit_info, EX_ISDOOR))
	&&  !IS_SET(pexit->exit_info, EX_HIDDEN) )
	{
	    found = TRUE;
	    closed = IS_SET(pexit->exit_info, EX_CLOSED);
	    locked = (IS_SET(pexit->exit_info, EX_LOCKED) || IS_SET(pexit->exit_info, EX_BOLTED) );
	    DT = ((IS_IMMORTAL(ch) || IS_AFFECTED(ch, AFF_DETECTTRAPS)) && xIS_SET(pexit->to_room->room_flags, ROOM_DEATH));

	    if ( fAuto )
	    {
                  sprintf( buf, "%s %s" "%s" "&W" "%s", buf, 
                   DT? "&R***" : !closed ? "" : locked ? "&R[&W" : "[", 
                   DT ? strupper(dir_name[pexit->vdir]): dir_name[pexit->vdir], 
                   DT? "&R***&W" : !closed ? "" : locked ? "&R]&W" : "]");
	    }
	    else
	    {
                 /* I don't want to underline spaces, so I'll calculate the number we need */
                 spaces = 5 - strlen (dir_name[pexit->vdir]);
                 if (spaces < 0)
                  spaces = 0;
  	 	 sprintf( buf + strlen(buf), "%s" "%*s - %s\n\r",
		  capitalize( dir_name[pexit->vdir] ),
                  spaces,  /* number of spaces */
                  "",      
		  DT ? "&RYou sense an aura of imminent doom this way&W" : locked ? "&R[&WClosed and Locked/Barred&R]&W" : closed ? "[Closed]" : room_is_dark( pexit->to_room ) ?  "Too dark to tell" : pexit->to_room->name );
	    }
	}
    }

    if ( !found )
	strcat( buf, fAuto ? " none.\n\r" : "None.\n\r" );
    else
      if ( fAuto )
	strcat( buf, ".\n\r" );
    send_to_char( buf, ch );
    return;
}