All pastes #800726 Raw Edit

Mine

public text v1 · immutable
#800726 ·published 2007-11-28 18:27 UTC
rendered paste body
 main () {
...
char* composed;
trataPut (received, composed);
send(sockid, composed, sizeof(char), xbytes);




/*
 * trataPut
 * Trata um pedido de PUT, no lado do servidor.
 * @param 'received' Buffer que contem, integralmente, a mensagem de pedido recebida.
 * @param 'composed' Buffer (nao alocado) que ira conter a mensagem de resposta ao pedido.
 */
void trataPut (char* received, char* composed)
{
	short type = ACKOK;
	char* buffer;
	char* data = memchr(msg_getDATA(received), (unsigned char)'\0',msg_getLENGTH(received))+1;
	char* filename = &(msg_getDATA(received))+4;
	int filelength = msg_getLENGTH(received) - strlen(filename);
	write_file(filename,data,filelength);
	compose_msg(buffer,composed,type,0);
}
   


/*
  * compose_msg
  * Compoe uma mensagem para enviar.
  * @param 'data', Buffer com o conteudo que ira ser colocado no campo DATA da mensagem
  * @param 'message' Buffer nao inicializado que ira conter a mensagem.
  * @param 'type' Tipo da mensagem
  * @param 'datalength' Tamanho do 'databuffer'
  * NOTA: isto esta do projecto antigo... que nao funciona la muito bem. PODE ESTAR MAL. hellifiknow.
  */
int compose_msg(char* data, char* message, short type, int bufferlength);