The Title BUG for EmberMUD
                      Fix Sheet by Rindar (Ron Cole)
     (Though this was so easy, I'm not sure I want to take credit for it)

The Bug:  A bug that appeared in the original EmberMUD and continues 
through 0.29 is the title bug.  A character with too long of a title 
will crash the game every time they do a SCORE.  The reason for this 
is that one of the check numbers is off, and so a character with too 
long a name and too long of a title will overload the SCORE.  

The Check:  Create a character with the longest name possible (the  
name ASDFGHJKLZXC works well).  Then type in the longest title 
possible.  If the game crashes when this character does a score, you 
have the bug.

The Bugfix:  I've seen this done a number of ways, from removing 
the title entirely from the score to truncates.  The one I used was 
simply setting the check EmberMUD already does on titles to the 
proper value.  Here's how:

        1)  Open act_info.c
        2)  Find the function "void do_title"
        3)  Find the line: 
        
             if ( strlen(argument) > 45 )
                argument[45] = '\0';
        4)  Change the value 45 to 34 in both lines.
        5)  Recompile.  You are done.


That's it.  Below, I've also included the complete function in case 
any non-programmer admins just want to pop it in.  If you find a 
better way to fix it, let me know.

-= Rindar
clogar@concentric.net


** Note:  This function is provided "as is" and may be used so long as 
1)  The author's name is kept at the top of the function (if requested) and
2)  all other previous licensing aggreements are abided by.  The author 
assumes no responsibility for problems that occur through use or install-
ation, including lost wages, bugs, deletions, downtimes, etc...  Use at 
your own risk.  All new code is copyrighted by its author.


New Title Code (in act_info.c):

void do_title( CHAR_DATA *ch, char *argument )
{  
   char buf[2*MAX_STRING_LENGTH];
   
   if ( IS_NPC(ch) )
     return;
   
   if ( argument[0] == '\0' )
     {
        send_to_char( "Change your title to what?\n\r", ch );
        return;
     }
   
   if ( strlen(argument) > 34 )
     argument[34] = '\0';
   
   smash_tilde( argument );
   set_title( ch, argument );
   sprintf(buf,"Ok, you are now %s%s.\n\r",ch->name,ch->pcdata->title);
   send_to_char( buf, ch );
}



 =============================================================================
/   ______ _______ ____   _____   ___ __    _ ______    ____  ____   _____   /
\  |  ____|__   __|  _ \ / ____\ / _ \| \  / |  ____|  / __ \|  _ \ / ____\  \
/  | |__     | |  | |_| | |     | |_| | |\/| | |___   | |  | | |_| | |       /
/  | ___|    | |  | ___/| |   __|  _  | |  | | ____|  | |  | |  __/| |   ___ \
\  | |       | |  | |   | |___| | | | | |  | | |____  | |__| | |\ \| |___| | /
/  |_|       |_|  |_|  o \_____/|_| |_|_|  |_|______|o \____/|_| \_|\_____/  \
\                                                                            /
 ============================================================================

------------------------------------------------------------------------------
ftp://ftp.game.org/pub/mud      FTP.GAME.ORG      http://www.game.org/ftpsite/
------------------------------------------------------------------------------

 This file came from FTP.GAME.ORG, the ultimate source for MUD resources.

------------------------------------------------------------------------------