/****************************************************************************
* [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame | \\._.// *
* -----------------------------------------------------------| (0...0) *
* SMAUG 1.4 (C) 1994, 1995, 1996, 1998 by Derek Snider | ).:.( *
* -----------------------------------------------------------| {o o} *
* SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus, | / ' ' \ *
* Scryn, Rennard, Swordbearer, Gorog, Grishnakh, Nivek, |~'~.VxvxV.~'~*
* Tricops and Fireblade | *
* ------------------------------------------------------------------------ *
* Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael *
* Chastain, Michael Quan, and Mitchell Tse. *
* Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, *
* Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. *
* ------------------------------------------------------------------------ *
* Misc module for general commands: not skills or spells *
****************************************************************************
* Note: Most of the stuff in here would go in act_obj.c, but act_obj was *
* getting big. *
****************************************************************************/
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include "mud.h"
/* Extended Bitvector Routines -Thoric */
/* check to see if the extended bitvector is completely empty */
bool ext_is_empty( EXT_BV * bits )
{
int x;
for( x = 0; x < XBI; x++ )
if( bits->bits[x] != 0 )
return false;
return true;
}
void ext_clear_bits( EXT_BV * bits )
{
int x;
for( x = 0; x < XBI; x++ )
bits->bits[x] = 0;
}
/* Read an extended bitvector from a file. -Thoric */
EXT_BV fread_bitvector( FILE * fp )
{
EXT_BV ret;
int c, x = 0;
int num = 0;
memset( &ret, '\0', sizeof( ret ) );
for( ;; )
{
num = fread_number( fp );
if( x < XBI )
ret.bits[x] = num;
++x;
if( ( c = getc( fp ) ) != '&' )
{
ungetc( c, fp );
break;
}
}
return ret;
}