Développement de modules Apaches en C
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:
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:
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:
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 !