case CR:
state = sw_last_chunk_extension_almost_done;
break;
- case LF:
- if (keep_trailers) {
- goto done;
- }
- state = sw_trailer;
- break;
case ';':
case ' ':
case '\t':
case CR:
state = sw_chunk_extension_almost_done;
break;
- case LF:
- state = sw_chunk_data;
- break;
case ';':
case ' ':
case '\t':
state = sw_chunk_extension_almost_done;
break;
case LF:
- state = sw_chunk_data;
+ goto invalid;
}
break;
case CR:
state = sw_after_data_almost_done;
break;
- case LF:
- state = sw_chunk_start;
- break;
default:
goto invalid;
}
state = sw_last_chunk_extension_almost_done;
break;
case LF:
- if (keep_trailers) {
- goto done;
- }
- state = sw_trailer;
+ goto invalid;
}
break;
state = sw_trailer_almost_done;
break;
case LF:
- goto done;
+ goto invalid;
default:
state = sw_trailer_header;
}
state = sw_trailer_header_almost_done;
break;
case LF:
- state = sw_trailer;
+ goto invalid;
}
break;
switch (state) {
case sw_chunk_start:
- ctx->length = 3 /* "0" LF LF */;
+ ctx->length = 5 /* "0" CRLF CRLF */;
break;
case sw_chunk_size:
- ctx->length = 1 /* LF */
- + (ctx->size ? ctx->size + 4 /* LF "0" LF LF */
- : 1 /* LF */);
+ ctx->length = 2 /* CRLF */
+ + (ctx->size ? ctx->size + 7 /* CRLF "0" CRLF CRLF */
+ : 2 /* CRLF */);
break;
case sw_chunk_extension:
+ ctx->length = 2 /* CRLF */ + ctx->size + 7 /* CRLF "0" CRLF CRLF */;
+ break;
case sw_chunk_extension_almost_done:
- ctx->length = 1 /* LF */ + ctx->size + 4 /* LF "0" LF LF */;
+ ctx->length = 1 /* LF */ + ctx->size + 7 /* CRLF "0" CRLF CRLF */;
break;
case sw_chunk_data:
- ctx->length = ctx->size + 4 /* LF "0" LF LF */;
+ ctx->length = ctx->size + 7 /* CRLF "0" CRLF CRLF */;
break;
case sw_after_data:
+ ctx->length = 7 /* CRLF "0" CRLF CRLF */;
+ break;
case sw_after_data_almost_done:
- ctx->length = 4 /* LF "0" LF LF */;
+ ctx->length = 6 /* LF "0" CRLF CRLF */;
break;
case sw_last_chunk_extension:
+ ctx->length = 4 /* CRLF CRLF */;
+ break;
case sw_last_chunk_extension_almost_done:
- ctx->length = 2 /* LF LF */;
+ ctx->length = 3 /* LF CRLF */;
break;
case sw_trailer:
+ ctx->length = 2 /* CRLF */;
+ break;
case sw_trailer_almost_done:
ctx->length = 1 /* LF */;
break;
case sw_trailer_header:
+ ctx->length = 4 /* CRLF CRLF */;
+ break;
case sw_trailer_header_almost_done:
- ctx->length = 2 /* LF LF */;
+ ctx->length = 3 /* LF CRLF */;
break;
}