> In a patch I found I'm having a slight problem. I've clipped the part that > is troubling me: > void do_clan_info (struct char_data *ch, char *arg) > { > int i=0,j; > int k=1; > for(i=0; i < num_of_clans; i++) > sprintf(buf, "%s%s[%-3d]%s %-20s %sMembers:%s %3d %sPower:%s %5d > %sAppfee:%s %d\r\n", > buf , CCLBL(ch,C_NRM), k, CCYEL(ch,C_NRM), > clan[i].name, > CCGRN(ch,C_NRM), CCNRM(ch,C_NRM), clan[i].members, > CCGRN(ch,C_NRM), > CCNRM(ch,C_NRM), clan[i].power, CCGRN(ch,C_NRM), > CCNRM(ch,C_NRM), clan[i].app_fee); > -----------END SNIP--- > > What is happening is the clan id number is doubling, and it isn't starting > with 0. I created 2 test clans and typed: clan info and this is the result: > > Clan Info > ---------------------------------------------------------------------------- > [1 ] clan Members: 0 Power: 0 Appfee: 0 > [1 ] Test Members: 1 Power: 1 Appfee: 0 > 1) You may want to pick up a book on how to write c programs. This isn't just a novice-level error which you have shown us, this is, quite literally, the most simplistic problem I've ever had the misfortune of seeing, especially though, on a mailing list. 2) Here's how to fix it: Up in that printf function, replace the 'k' with 'i+1'. You're not incrementing k, you're using i as the number, so may as well just duplicate it. You can also remove the declaration of 'int k=1', up above, unless it is somewhere used later (doubt it). PjD +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST