That char doesn't really matter unless the length of vnum, and pRoomIndex->name is greater than MSL + 5000. See, sprintf() snarfs buf everytime its called, which is why you don't need the "buf[0] = '\0' at the begining of every loop. Infact, you don't really need it that large at all. Your problem might be the size of the BUFFER * if anything. I also don't see the reason for rlist having an argument. So one_argument()ing in there is pointless unless you intend it to have arguments for it. And I'm slightly confused here when you say it stops around the 639th vnum. Now, does that mean everything with a vnum greater than 639 doesn't show up, or if the area has more than 639 rooms, the ones after that don't show?

Davion

From: "Sarix" <[EMAIL PROTECTED]>
To: "Nicholas Hutzell" <[EMAIL PROTECTED]>, <[email protected]>
Subject: Re: rlist
Date: Tue, 9 Dec 2003 19:09:48 -0700

Probably still isn't large enough, you could try like MSL * 4
----- Original Message -----
From: "Nicholas Hutzell" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, December 09, 2003 7:04 PM
Subject: rlist


> I am having a problem with rlist only showing 639
> vnums total. I tried adding to the char buf to see if
> it would allow for the extra vnums being used but
> nothing seems to work after the 639 vnum. What i did
> was..
>
> REDIT (redit_rlist)
> {
>     ROOM_INDEX_DATA *pRoomIndex;
>     AREA_DATA *pArea;
>     char buf[MAX_STRING_LENGTH + 5000]; <--this
>     BUFFER *buf1;
>     char arg[MAX_INPUT_LENGTH];
>     bool found;
>     long vnum;
>     int col = 0;
>
>     one_argument (argument, arg);
>
>     pArea = ch->in_room->area;
>     buf1 = new_buf ();
> /*    buf1[0] = '\0'; */
>     found = FALSE;
>
>     for (vnum = pArea->min_vnum; vnum <=
> pArea->max_vnum; vnum++)
>     {
>         if ((pRoomIndex = get_room_index (vnum)))
>         {
>             found = TRUE;
>             sprintf (buf, "[%5ld] %-17.16s",
>                      vnum, capitalize
> (pRoomIndex->name));
>             add_buf (buf1, buf);
>             if (++col % 3 == 0)
>                 add_buf (buf1, "\n\r");
>         }
>     }
>
>     if (!found)
>     {
>         send_to_char ("Room(s) not found in this
> area.\n\r", ch);
>         return FALSE;
>     }
>
>     if (col % 3 != 0)
>         add_buf (buf1, "\n\r");
>
>     page_to_char (buf_string (buf1), ch);
>     free_buf (buf1);
>     return FALSE;
> }
>
>
> but that didnt seem to help any. Does anyone have any
> idea how to correct this problem?
>
> __________________________________
> Do you Yahoo!?
> New Yahoo! Photos - easier uploading and sharing.
> http://photos.yahoo.com/
>
> --
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>

--
ROM mailing list
[email protected]
http://www.rom.org/cgi-bin/mailman/listinfo/rom

_________________________________________________________________
STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=dept/bcomm&pgmarket=en-ca&RU=http%3a%2f%2fjoin.msn.com%2f%3fpage%3dmisc%2fspecialoffers%26pgmarket%3den-ca


Reply via email to