Author: poeml Date: Thu Apr 19 23:34:49 2012 New Revision: 8284 URL: http://svn.mirrorbrain.org/viewvc/mirrorbrain?rev=8284&view=rev Log: mod_mirrorbrain: - pass only the request pool to hex_decode() and hex_to_b64(), instead of the whole request record
Modified: trunk/mod_mirrorbrain/mod_mirrorbrain.c Modified: trunk/mod_mirrorbrain/mod_mirrorbrain.c URL: http://svn.mirrorbrain.org/viewvc/mirrorbrain/trunk/mod_mirrorbrain/mod_mirrorbrain.c?rev=8284&r1=8283&r2=8284&view=diff ============================================================================== --- trunk/mod_mirrorbrain/mod_mirrorbrain.c (original) +++ trunk/mod_mirrorbrain/mod_mirrorbrain.c Thu Apr 19 23:34:49 2012 @@ -1104,7 +1104,7 @@ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }; -static char get_hex(request_rec *r, char c) +static char get_hex(apr_pool_t *p, char c) { int res = -1; @@ -1112,47 +1112,47 @@ res = hexlookup[(unsigned char) c]; if (res < 0) - ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, - "[mod_mirrorbrain] invalid hexadecimal digit: \"%c\"", c); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL, + "[mod_mirrorbrain] invalid hexadecimal digit: \"%c\"", c); return (char) res; } -static char *hex_decode(request_rec *r, const char *src, unsigned dstlen) +static char *hex_decode(apr_pool_t *p, const char *src, unsigned dstlen) { const char *s, *srcend; char *dst; - char v1, v2, *p; + char v1, v2, *d; if (!dstlen) { dstlen = (strlen(src) >> 1); } - dst = apr_palloc(r->pool, (dstlen)); + dst = apr_palloc(p, (dstlen)); srcend = src + (dstlen << 1); s = src; - p = dst; + d = dst; while (s < srcend) { - v1 = get_hex(r, *s++) << 4; + v1 = get_hex(p, *s++) << 4; if (s >= srcend) { - ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, - "[mod_mirrorbrain] invalid hexadecimal data: " + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL, + "[mod_mirrorbrain] invalid hexadecimal data: " "odd number of digits"); } - v2 = get_hex(r, *s++); - *p++ = v1 | v2; + v2 = get_hex(p, *s++); + *d++ = v1 | v2; } return dst; } -static char *hex_to_b64(request_rec *r, const char *src, unsigned binlen) +static char *hex_to_b64(apr_pool_t *p, const char *src, unsigned binlen) { char *bin, *encoded; - bin = hex_decode(r, src, binlen); - - encoded = (char *) apr_palloc(r->pool, 1 + apr_base64_encode_len(binlen)); + bin = hex_decode(p, src, binlen); + + encoded = (char *) apr_palloc(p, 1 + apr_base64_encode_len(binlen)); binlen = apr_base64_encode(encoded, bin, binlen); encoded[binlen] = '\0'; /* make binary sequence into string */ @@ -3293,15 +3293,15 @@ (hashbag->sha1pieceshex->nelts * SHA1_DIGESTSIZE)); char **p = (char **)hashbag->sha1pieceshex->elts; for (i = 0; i < hashbag->sha1pieceshex->nelts; i++) { - ap_rwrite(hex_decode(r, p[i], SHA1_DIGESTSIZE), SHA1_DIGESTSIZE, r); + ap_rwrite(hex_decode(r->pool, p[i], SHA1_DIGESTSIZE), SHA1_DIGESTSIZE, r); } ap_rprintf(r, "4:sha1" "%d:", SHA1_DIGESTSIZE); - ap_rwrite( hex_decode(r, hashbag->sha1hex, SHA1_DIGESTSIZE), + ap_rwrite( hex_decode(r->pool, hashbag->sha1hex, SHA1_DIGESTSIZE), SHA1_DIGESTSIZE, r); ap_rprintf(r, "6:sha256" "%d:", SHA256_DIGESTSIZE); - ap_rwrite( hex_decode(r, hashbag->sha256hex, SHA256_DIGESTSIZE), + ap_rwrite( hex_decode(r->pool, hashbag->sha256hex, SHA256_DIGESTSIZE), SHA256_DIGESTSIZE, r); /* end of info hash: */ @@ -3487,7 +3487,7 @@ return OK; } int l = strlen(hashbag->zsumshex); - ap_rwrite(hex_decode(r, hashbag->zsumshex, l/2), + ap_rwrite(hex_decode(r->pool, hashbag->zsumshex, l/2), l/2, r); return OK; @@ -3632,19 +3632,19 @@ if (hashbag->md5hex) { apr_table_addn(r->err_headers_out, "Digest", apr_pstrcat(r->pool, "MD5=", - hex_to_b64(r, hashbag->md5hex, MD5_DIGESTSIZE), + hex_to_b64(r->pool, hashbag->md5hex, MD5_DIGESTSIZE), NULL)); } if (hashbag->sha1hex) { apr_table_addn(r->err_headers_out, "Digest", apr_pstrcat(r->pool, "SHA=", - hex_to_b64(r, hashbag->sha1hex, SHA1_DIGESTSIZE), + hex_to_b64(r->pool, hashbag->sha1hex, SHA1_DIGESTSIZE), NULL)); } if (hashbag->sha256hex) { apr_table_addn(r->err_headers_out, "Digest", apr_pstrcat(r->pool, "SHA-256=", - hex_to_b64(r, hashbag->sha256hex, SHA256_DIGESTSIZE), + hex_to_b64(r->pool, hashbag->sha256hex, SHA256_DIGESTSIZE), NULL)); } } _______________________________________________ mirrorbrain-commits mailing list Archive: http://mirrorbrain.org/archive/mirrorbrain-commits/ Note: To remove yourself from this list, send a mail with the content unsubscribe to the address mirrorbrain-commits-requ...@mirrorbrain.org