int msgSN      = nPostSerial;
bool MsgBoardRemoveGlobalPostBySerial( int nPostSerial ){		// Sample REMOVE POST message from client	//             | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|	//             |p#|s1|s2|mt|b1|b2|b3|b4|m1|m2|m3|m4| 	// Client sends 71  0  c  6 40  0  0 18  1  0  0  4		// Read bbi file to determine messages on boards list	// Find the post and mark it for deletion	// thereby removing it from the bulletin boards list		bool bReturn = true;	FILE *file = NULL;	// 50 chars for prefix and 4 for the extension plus the ending NULL	char fileName[256] = "";	int msgSN      = nPostSerial;	// GLOBAL post file	strcpy( (char*)temp, "global.bbi" );		// If a MSBBOARDPATH has been define in the SERVER.SCP file, then use it	if (SrvParms->msgboardpath)		strcpy( fileName, SrvParms->msgboardpath );		// Create the full path to the file we need to open	strcat( fileName, (char*)temp );	file = fopen( fileName, "rb+" );		// If the file exists continue, othewise abort with an error	if ( file != NULL )	{		// Ignore first 4 bytes of bbi file as this is reserverd for the current max message serial number being used		if ( fseek( file, 4, SEEK_SET ) )		{			clConsole.send("WOLFPACK: MsgBoardRemoveGlobalPostBySerial() failed to seek first message seg in bbi\n");		    fclose( file );			file = NULL;			return false;		}				unsigned long loopexit=0;		// Loop until we have reached the end of the file		while ( !feof(file) && (++loopexit < MAXLOOPS) )		{			//  | 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18 			//  |mg1|mg2|mg3|mg4|mo1|mo2|DEL|sg1|sg2|xx1|xx2|yy1|yy2|NS1|NS2|NS3|NS4|co1|co2|			// "\x40\x1c\x53\xeb\x0e\xb0\x00\x00\x00\x00\x3a\x00\x3a\x40\x00\x00\x19\x00\x00";						// Fill up the msg with data from the bbi file			if ( fread( msg, sizeof(char), 19, file ) != 19 )			{                bReturn = false;				clConsole.send("WOLFPACK: MsgBoardRemoveGlobalPostBySerial() Could not find message to mark deleted\n");				if ( feof(file) )                break;			}			if ( ( msg[0] == ( ( nPostSerial & 0xFF000000 ) >> 0x18 ) ) &&				   ( msg[1] == ( ( nPostSerial & 0x00FF0000 ) >> 0x10 ) ) &&				   ( msg[2] == ( ( nPostSerial & 0x0000FF00 ) >> 0x08 ) ) &&				   ( msg[3] == ( ( nPostSerial & 0x000000FF )         ) )    )			{				// Jump back to the DEL segment in order to mark the post for deletion				fseek( file, -13, SEEK_CUR );								// Write out the mark for deletion value (0x00)				fputc( 0, file );								// We found the message we wanted so break out and close the file				break;			}					}	}		// Close bbi file	if ( file )	{		fclose( file );		file = NULL;	}			return bReturn;}