Re: INVALID BITVECTOR

From: Christian Loth (sg618lo@unidui.uni-duisburg.de)
Date: 04/25/99


Greetings,

Am Son, 25 Apr 1999 schrieb Mike Carpenter:
> Whenever I use the last possible bit for say room_flags,
> I get INVALID BITVECTOR displayed.  I have constants.c properly
> done and in the right order for room_flags.  Olc.h has been increased
> to the proper number.  And it appears to work.  This has happened
> for both room_flags and prfs.  Whenever the last bit gets used,
> INVALID BITVECTOR shows up.  But works.  Anyone ever see this and
> have any ideas on what I should do to fix it?

Yeppers: the reason is, that in the older circle versions, signed values
were used for flags, that means, that the first bit served as a minus
or plus, marking the number as positive/negative. If you set that bit,
the number turns negative, resulting in an invalid bitvector. The
solution: in one of the last patches, there were changes, introducing
a bitvector_t type, which is an unsigned long in stock circle, and can
be adjustet as needed (e.g. unsigned long long or so). This change
uses unsigned values, so that negative numbers are no longer possible.

Try to look at the patches, however I'm not sure which one it was,
maybe 13 -> 14, and hand-patch your code with them. Take care
with your pfiles however, so you had better first test it out.

- Chris

--
Christian Loth
Coder of 'Project Gidayu'
Computer Science Student, University of Dortmund
sg618lo@uni-duisburg.de - chloth00@marvin.cs.uni-dortmund.de


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST