----- Original Message ----- From: "Thomas Larcombe" <raucous@DIM.COM> To: <CIRCLE@post.queensu.ca> Sent: Wednesday, December 04, 2002 9:09 PM Subject: [CIRCLE] 128 bit bug > In shop.c there is a comparison of GET_OBJ_EXTRA(obj1) and > GET_OBJ_EXTRA(obj2), this needs to be changed from: > {in function same_obj()} > > if GET_OBJ_EXTRA(obj1) != GET_OBJ_EXTRA(obj2) > return (FALSE); > > it needs to be changed to: > > if GET_OBJ_EXTRA(obj1)[0] != GET_OBJ_EXTRA(obj2)[0] > return (FALSE); Oops. I probably overlooked this case, and since the compiler didn't complain about it (Quite logical), I simply forgot. Here is the fix, probably shorter: int i; for (i = 0; i < EF_ARRAY_MAX; i++) if (GET_OBJ_EXTRA_AR(obj1, i) != GET_OBJ_EXTRA_AR(obj2, i)) return (FALSE); > additional lines need to be added to check for [1], [2] and [3] as well. > The upshot of not doing this is that items will load with only a > single item available as opposed to the 'Unlimited' that shop produced > items are supposed to have, several other minor problems are fixed also > as other sections also call on the 'same_obj()' function. I actually heard this problem before, but having no problems in my own mud (In which I did probably adjust this), I disregared it. Anyhow, new version will come out when the new oasisolc is released, with the bugfix. -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT