Quelqu'un s'y connait là dedans ou pas ?
Il y a quelque chose que je ne comprends pas, c'est peut-être du C pur, mais bon bref.
Voilà la définition dans les sources Apache :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
/**
 * read the data from the bucket
 * @param e The bucket to read from
 * @param str The location to store the data in
 * @param len The amount of data read
 * @param block Whether the read function blocks
 */
apr_bucket_read(e,str,len,block)
Donc logiquement l'appel serait du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
const char data[500];
apr_size_t len;
apr_bucket_read(e, &data, &len, APR_BLOCK_READ);
        }

Seulement tous les appels dans les sources Apache sont ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
const char *data;
apr_size_t len;
apr_bucket_read(e, &data, &len, APR_BLOCK_READ);
            ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "Lu : %d - %s", len, data);
        }
Autrement dit, on dirait qu'il n'y a pas vraiment de copie, ou bien que data est alloué, alors que dans la déclaration ce n'est pas ce qui est expliqué. A moins que je manque quelque chose ?

Merci pour votre aide !