diff options
author | Ingela Anderton Andin <[email protected]> | 2015-10-26 10:33:14 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2015-10-26 10:33:14 +0100 |
commit | 030447db58eba15398a357a81f20efa409113bc9 (patch) | |
tree | 160eceb4aace2bd51a49ff66dcbb197cd0ce931c /erts/emulator/beam/erl_bif_port.c | |
parent | d9f88cbd3c096d09cac05450e6b075b1109da1a0 (diff) | |
parent | abb62a6d1918bc46ada942ae4f4c79caf2690d86 (diff) | |
download | otp-030447db58eba15398a357a81f20efa409113bc9.tar.gz otp-030447db58eba15398a357a81f20efa409113bc9.tar.bz2 otp-030447db58eba15398a357a81f20efa409113bc9.zip |
Update primary bootstrap
Diffstat (limited to 'erts/emulator/beam/erl_bif_port.c')
-rw-r--r-- | erts/emulator/beam/erl_bif_port.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_bif_port.c b/erts/emulator/beam/erl_bif_port.c index 3ff54c7a60..e47d7bcbbb 100644 --- a/erts/emulator/beam/erl_bif_port.c +++ b/erts/emulator/beam/erl_bif_port.c @@ -1329,7 +1329,8 @@ BIF_RETTYPE decode_packet_3(BIF_ALIST_3) ErlSubBin* rest; Eterm res; Eterm options; - int code; + int code; + char delimiter = '\n'; if (!is_binary(BIF_ARG_2) || (!is_list(BIF_ARG_3) && !is_nil(BIF_ARG_3))) { @@ -1370,6 +1371,11 @@ BIF_RETTYPE decode_packet_3(BIF_ALIST_3) case am_line_length: trunc_len = val; goto next_option; + case am_line_delimiter: + if (type == TCP_PB_LINE_LF && val >= 0 && val <= 255) { + delimiter = (char)val; + goto next_option; + } } } } @@ -1390,7 +1396,7 @@ BIF_RETTYPE decode_packet_3(BIF_ALIST_3) pca.aligned_ptr = bin_ptr; } packet_sz = packet_get_length(type, (char*)pca.aligned_ptr, pca.bin_sz, - max_plen, trunc_len, &http_state); + max_plen, trunc_len, delimiter, &http_state); if (!(packet_sz > 0 && packet_sz <= pca.bin_sz)) { if (packet_sz < 0) { goto error; |