Kouhei Sutou
null+****@clear*****
Wed Mar 11 17:06:20 JST 2015
Kouhei Sutou 2015-03-11 17:06:20 +0900 (Wed, 11 Mar 2015) New Revision: 7f173875341bd924d7d115dd2c0e3d93c75872cc https://github.com/groonga/groonga/commit/7f173875341bd924d7d115dd2c0e3d93c75872cc Message: http: use new line and "," for chunk separator in POST data It decreases buffer size. Modified files: src/groonga.c Modified: src/groonga.c (+12 -12) =================================================================== --- src/groonga.c 2015-03-11 17:01:45 +0900 (adc6d0d) +++ src/groonga.c 2015-03-11 17:06:20 +0900 (5c95664) @@ -1206,10 +1206,10 @@ do_htreq_post(grn_ctx *ctx, grn_msg *msg) } { - grn_obj line_buffer; + grn_obj chunk_buffer; int read_content_length = 0; - GRN_TEXT_INIT(&line_buffer, 0); + GRN_TEXT_INIT(&chunk_buffer, 0); while (read_content_length < header.content_length) { #define POST_BUFFER_SIZE 8192 grn_rc rc; @@ -1241,11 +1241,11 @@ do_htreq_post(grn_ctx *ctx, grn_msg *msg) for (; rc == GRN_SUCCESS && buffer_current > buffer_start; buffer_current--) { - if (buffer_current[0] != '\n') { + if (!(buffer_current[0] == '\n' || buffer_current[0] == ',')) { continue; } GRN_TEXT_PUT(ctx, - &line_buffer, + &chunk_buffer, buffer_start, buffer_current - buffer_start); { @@ -1255,25 +1255,25 @@ do_htreq_post(grn_ctx *ctx, grn_msg *msg) flags |= GRN_CTX_QUIET; } rc = grn_ctx_send(ctx, - GRN_TEXT_VALUE(&line_buffer), - GRN_TEXT_LEN(&line_buffer), + GRN_TEXT_VALUE(&chunk_buffer), + GRN_TEXT_LEN(&chunk_buffer), flags); } buffer_start = buffer_current + 1; - GRN_BULK_REWIND(&line_buffer); + GRN_BULK_REWIND(&chunk_buffer); } - GRN_TEXT_PUT(ctx, &line_buffer, buffer_start, buffer_end - buffer_start); + GRN_TEXT_PUT(ctx, &chunk_buffer, buffer_start, buffer_end - buffer_start); #undef POST_BUFFER_SIZE } - if (GRN_TEXT_LEN(&line_buffer) > 0) { + if (GRN_TEXT_LEN(&chunk_buffer) > 0) { grn_ctx_send(ctx, - GRN_TEXT_VALUE(&line_buffer), - GRN_TEXT_LEN(&line_buffer), + GRN_TEXT_VALUE(&chunk_buffer), + GRN_TEXT_LEN(&chunk_buffer), 0); } - GRN_OBJ_FIN(ctx, &line_buffer); + GRN_OBJ_FIN(ctx, &chunk_buffer); } } -------------- next part -------------- HTML����������������������������...Download