Oppure

Loading
08/03/19 19:29
Thejuster
Buonasera.
Sono alle prese con il Char array ma non riesco a liberare il contenuto seppure è contenuto in una funzione

Codice.


ACMD_FUNC(discord)
{
	nullpo_retr(-1, sd);

	//sprintf(atcmd_output, "%s: %s", sd->status.name, message);
	//intif_broadcast(atcmd_output, strlen(atcmd_output) + 1, BC_DEFAULT);


	sprintf(atcmd_output, "%s", message);

	//sprintf(atcmd_output, "%s: %s", sd->status.name, message);
	clif_displaymessage(sd->fd, atcmd_output); //Mostro come un Messaggio Normale

	

	std::string canale = "#main"; //Creo un canale


	Channel *chan = channel_name2channel((char*)canale.c_str(), NULL, 0);
	clif_channel_msg(chan, sd->message, BC_BLUE); //Mostro Messaggio nella chat ma non sul player
	
	
	ShowStatus(atcmd_output);

	
	
	/*if (Sql_Query(mmysql_handle, "UPDATE `%s` SET `autotrade` = 1 WHERE `id` = %d;", vendings_table, sd->vender_id) != SQL_SUCCESS) {
		Sql_ShowDebug(mmysql_handle);
	}*/
	

	return 0;
}




se dal gameclient scrivo 3 volte lo stesso comando con testo diverso

mi appare tipo
ciaociao dal clientciao dal clientprova


cdn.discordapp.com/attachments/227530413063536641/553660478904074260/…

Come posso liberare il testo nella variabile?

ho provato con free(atcmd_output);

Ma crasha il server.

mire.forumfree.it/ - Mire Engine
C# UI Designer
08/03/19 21:44
TheDarkJuster
Postato originariamente da Thejuster:
Buonasera.
Sono alle prese con il Char array ma non riesco a liberare il contenuto seppure è contenuto in una funzione

Codice.


ACMD_FUNC(discord)
{
	nullpo_retr(-1, sd);

	//sprintf(atcmd_output, "%s: %s", sd->status.name, message);
	//intif_broadcast(atcmd_output, strlen(atcmd_output) + 1, BC_DEFAULT);


	sprintf(atcmd_output, "%s", message);

	//sprintf(atcmd_output, "%s: %s", sd->status.name, message);
	clif_displaymessage(sd->fd, atcmd_output); //Mostro come un Messaggio Normale

	

	std::string canale = "#main"; //Creo un canale


	Channel *chan = channel_name2channel((char*)canale.c_str(), NULL, 0);
	clif_channel_msg(chan, sd->message, BC_BLUE); //Mostro Messaggio nella chat ma non sul player
	
	
	ShowStatus(atcmd_output);

	
	
	/*if (Sql_Query(mmysql_handle, "UPDATE `%s` SET `autotrade` = 1 WHERE `id` = %d;", vendings_table, sd->vender_id) != SQL_SUCCESS) {
		Sql_ShowDebug(mmysql_handle);
	}*/
	

	return 0;
}



se dal gameclient scrivo 3 volte lo stesso comando con testo diverso

mi appare tipo
ciaociao dal clientciao dal clientprova


cdn.discordapp.com/attachments/227530413063536641/553660478904074260/…

Come posso liberare il testo nella variabile?

ho provato con free(atcmd_output);

Ma crasha il server.



Ci credo che cresha, free serve per rilasciare al sistema operativo la memoria, non per resettarla. Per resettare un array si usa memset((void*)array, 0, lughezza)
aaa
13/03/19 15:40
Thejuster
grazie mille juster!
mire.forumfree.it/ - Mire Engine
C# UI Designer