cURL / Mailing Lists / curl-library / Single Mail

curl-library

Is it possible to avoid memcpy when doing http PUT from memory buffer

From: JOHAN LANTZ <johan.lantz_at_telefonica.com>
Date: Fri, 15 Jan 2016 12:39:44 +0000

When doing a PUT, then in the read_callback I copy the data into the buffer provided by curl like this:

static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp) {

tu_http_transaction *transaction = (http_transaction*)userp;

int bytes_read = 0;

 if (size*nmemb > transaction->size_left) {

bytes_read = transaction->size_left;

memcpy(ptr, transaction->data + (transaction->size - transaction->size_left), bytes_read);

transaction->size_left = 0;

} else {...}

Out of curiosity, if I know my buffer is valid until the transfer finishes, is there a way to avoid this memcpy and just tell curl the address of the data to be PUT?

Johan

________________________________

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2016-01-15