#if defined(macintosh)
#include <types.h>
#else
#include <sys/types.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <assert.h>
#include <unistd.h>
#include <string.h>
#include "merc.h"
#include "tables.h"
#include <math.h>
#include <ctype.h>
void do_sdelete( CHAR_DATA *ch, char *argument )
{
DESCRIPTOR_DATA *d;
char strsave[MAX_INPUT_LENGTH];
char arg1[MAX_INPUT_LENGTH];
char *pArg;
char cEnd;
char buf[MAX_INPUT_LENGTH];
if ( IS_NPC(ch) )
return;
strcpy(buf,ch->name);
sprintf( strsave, "%s%s%s%s", PLAYER_DIR, initial( buf ), "/", capitalize( buf ) );
pArg = arg1;
while ( isspace(*argument) )
argument++;
cEnd = ' ';
if ( *argument =='\'' || *argument == '"' )
cEnd = *argument++;
while ( *argument != '\0' )
{
if ( *argument == cEnd )
{
argument++;
break;
}
*pArg++ = *argument++;
}
*pArg = '\0';
if ( ( ch->pcdata->pwd != '\0' )
&& ( arg1[0] == '\0' ) )
{
send_to_char( "Syntax: pdelete <password>.\n\r", ch );
return;
}
if ( ( ch->pcdata->pwd != '\0' )
&& ( strcmp( crypt( arg1, ch->pcdata->pwd ), ch->pcdata->pwd ) ) )
{
WAIT_STATE( ch, 40 );
send_to_char( "Wrong password. Wait 10 seconds.\n\r", ch );
return;
}
unlink(strsave);
send_to_char("Character deleted.\n\r",ch);
d = ch->desc;
extract_char( ch, TRUE );
if ( d != NULL )
close_socket( d );
}