Corrected the chat system to allow 8-letter passwords
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9772 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
71ca66f8b1
commit
936937bd46
@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
|||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2007/02/01
|
2007/02/01
|
||||||
|
* Corrected the chat system to allow 8-letter passwords
|
||||||
* Minor details (pdb file location, improved debug, npc typo)
|
* Minor details (pdb file location, improved debug, npc typo)
|
||||||
* Cleaned up the npcshop(add/del)item script commands, fixed a possible
|
* Cleaned up the npcshop(add/del)item script commands, fixed a possible
|
||||||
dangling pointer crash caused by their improper use of realloc. They no
|
dangling pointer crash caused by their improper use of realloc. They no
|
||||||
|
@ -17,10 +17,10 @@
|
|||||||
int chat_triggerevent(struct chat_data *cd);
|
int chat_triggerevent(struct chat_data *cd);
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
* チャットルーム作成
|
* chatroom creation
|
||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
int chat_createchat(struct map_session_data *sd,int limit,int pub,char* pass,char* title,int titlelen)
|
int chat_createchat(struct map_session_data* sd,int limit, int pub, char* pass, char* title, int titlelen)
|
||||||
{
|
{
|
||||||
struct chat_data *cd;
|
struct chat_data *cd;
|
||||||
|
|
||||||
@ -39,11 +39,10 @@ int chat_createchat(struct map_session_data *sd,int limit,int pub,char* pass,cha
|
|||||||
cd->limit = limit;
|
cd->limit = limit;
|
||||||
cd->pub = pub;
|
cd->pub = pub;
|
||||||
cd->users = 1;
|
cd->users = 1;
|
||||||
memcpy(cd->pass,pass,8);
|
titlelen = cap_value(titlelen, 0, sizeof(cd->title)-1); // empty string achievable by using custom client
|
||||||
cd->pass[7]= '\0'; //Overflow check... [Skotlex]
|
// the following two input strings aren't zero terminated, have to handle it manually
|
||||||
if(titlelen>=sizeof(cd->title)-1) titlelen=sizeof(cd->title)-1;
|
memcpy(cd->pass, pass, 8); cd->pass[8]= '\0';
|
||||||
memcpy(cd->title,title,titlelen);
|
memcpy(cd->title, title, titlelen); cd->title[titlelen] = '\0';
|
||||||
cd->title[titlelen]=0;
|
|
||||||
|
|
||||||
cd->owner = (struct block_list **)(&cd->usersd[0]);
|
cd->owner = (struct block_list **)(&cd->usersd[0]);
|
||||||
cd->usersd[0] = sd;
|
cd->usersd[0] = sd;
|
||||||
@ -70,7 +69,7 @@ int chat_createchat(struct map_session_data *sd,int limit,int pub,char* pass,cha
|
|||||||
* 既存チャットルームに参加
|
* 既存チャットルームに参加
|
||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
int chat_joinchat (struct map_session_data *sd, int chatid, char* pass)
|
int chat_joinchat(struct map_session_data* sd, int chatid, char* pass)
|
||||||
{
|
{
|
||||||
struct chat_data *cd;
|
struct chat_data *cd;
|
||||||
|
|
||||||
|
@ -1273,8 +1273,8 @@ enum {
|
|||||||
struct chat_data {
|
struct chat_data {
|
||||||
struct block_list bl;
|
struct block_list bl;
|
||||||
|
|
||||||
unsigned char pass[8]; /* password */
|
unsigned char pass[8+1]; /* password */
|
||||||
unsigned char title[61]; /* room title MAX 60 */
|
unsigned char title[60+1]; /* room title */
|
||||||
unsigned char limit; /* join limit */
|
unsigned char limit; /* join limit */
|
||||||
unsigned char trigger;
|
unsigned char trigger;
|
||||||
unsigned char users; /* current users */
|
unsigned char users; /* current users */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user