MCPcopy Index your code
hub / github.com/apache/httpd / store_table

Function store_table

modules/cache/mod_cache_socache.c:248–277  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

246}
247
248static apr_status_t store_table(apr_table_t *table, unsigned char *buffer,
249 apr_size_t buffer_len, apr_size_t *slider)
250{
251 int i, len;
252 apr_table_entry_t *elts;
253
254 elts = (apr_table_entry_t *) apr_table_elts(table)->elts;
255 for (i = 0; i < apr_table_elts(table)->nelts; ++i) {
256 if (elts[i].key != NULL) {
257 apr_size_t key_len = strlen(elts[i].key);
258 apr_size_t val_len = strlen(elts[i].val);
259 if (key_len + val_len + 5 >= buffer_len - *slider) {
260 return APR_EOF;
261 }
262 len = apr_snprintf(buffer ? (char *) buffer + *slider : NULL,
263 buffer ? buffer_len - *slider : 0, "%s: %s" CRLF,
264 elts[i].key, elts[i].val);
265 *slider += len;
266 }
267 }
268 if (3 >= buffer_len - *slider) {
269 return APR_EOF;
270 }
271 if (buffer) {
272 memcpy(buffer + *slider, CRLF, sizeof(CRLF) - 1);
273 }
274 *slider += sizeof(CRLF) - 1;
275
276 return APR_SUCCESS;
277}
278
279static const char* regen_key(apr_pool_t *p, apr_table_t *headers,
280 apr_array_header_t *varray, const char *oldkey,

Callers 2

create_entityFunction · 0.70
store_headersFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected