Login
User Name:

Password:



Register

Forgot your password?
do_owhere recursive
Author: Khonsu
Submitted by: Khonsu
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
Users Online
AhrefsBot, Bing, Yandex

Members: 0
Guests: 31
Stats
Files
Topics
Posts
Members
Newest Member
489
3,791
19,644
596
Elwood

Today's Birthdays
There are no member birthdays today.
» SmaugMuds » General » Coding » EXT_BV inside mpcommand
Forum Rules | Mark all | Recent Posts

EXT_BV inside mpcommand
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Apr 11, 2014 3:43 pm   Last edited Apr 11, 2014 3:43 pm by Matteo2303
Go to the top of the page
Go to the bottom of the page

Matteo2303
Apprentice
GroupMembers
Posts86
JoinedAug 25, 2003

 
Hi,

If I build a mp_command argument that contain an extended bitvector like:

mpdosomething 3&15

how can I convert "3&15" in a EXT_BV var?

pseudo-code:
do_mpdosomething( CHAR_DATA *ch, char *argument )
{
argument = one_argument( argument, arg1 );
EXT_BV bits;
xCLEAR( bits );
xSET( bits, ??? ); // ??? = arg1 converted ... but how?
return;
}

Thank you in advance for any help.

Bye!

Post is unread #2 Apr 11, 2014 7:53 pm   Last edited Apr 11, 2014 7:56 pm by Matteo2303
Go to the top of the page
Go to the bottom of the page

Matteo2303
Apprentice
GroupMembers
Posts86
JoinedAug 25, 2003

 
I don't now but... here my first version and it seems work:

EXT_BV str2xbit( char *arg )
{
    EXT_BV xbit;
    int x = 0, n = 0;
    memset( &xbit, '\0', sizeof(xbit) );
    if ( *arg == '\0' ) return xbit;
    for ( ; *arg != '\0'; arg++ )
    {
	if ( !isdigit(*arg) )
	{
		FINALIZE:
		if ( x < XBI )
		xbit.bits[x] = n;
		++x; n = 0;
		if ( *arg != '&' )
		return xbit;
		continue;
	}
	n = n * 10 + *arg - '0';
    }
goto FINALIZE;
}


bye
mat

Pages:<< prev 1 next >>