diff options
author | Sverker Eriksson <[email protected]> | 2010-11-02 18:08:04 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2010-11-22 15:54:48 +0100 |
commit | 454335cd043561cc9fe874bc325c152a0727328b (patch) | |
tree | c12359d358fd8664bb5eb3b22cac80c5a8880e77 /erts/emulator/beam/packet_parser.c | |
parent | 7ceec2cef3643f2c2f63ae169f74da660803435b (diff) | |
download | otp-454335cd043561cc9fe874bc325c152a0727328b.tar.gz otp-454335cd043561cc9fe874bc325c152a0727328b.tar.bz2 otp-454335cd043561cc9fe874bc325c152a0727328b.zip |
ETS 'compressed' option.
The compressed format is using a slighty modified variant of the extern format
(term_to_binary). To not worsen key lookup's too much, the top tuple itself
and the key element are not compressed. Table objects with only immediate
non-key elements will therefor not gain anything (but actually consume one
extra word for "alloc_size").
Diffstat (limited to 'erts/emulator/beam/packet_parser.c')
-rw-r--r-- | erts/emulator/beam/packet_parser.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/erts/emulator/beam/packet_parser.c b/erts/emulator/beam/packet_parser.c index 5bcd567b5f..a66d60aa22 100644 --- a/erts/emulator/beam/packet_parser.c +++ b/erts/emulator/beam/packet_parser.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2008-2009. All Rights Reserved. + * Copyright Ericsson AB 2008-2010. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -47,11 +47,6 @@ (((unsigned char*) (s))[1] << 8) | \ (((unsigned char*) (s))[0])) -#define put_int24(s, x) ((((unsigned char*)(s))[0] = ((x) >> 16) & 0xff), \ - (((unsigned char*)(s))[1] = ((x) >> 8) & 0xff), \ - (((unsigned char*)(s))[2] = (x) & 0xff)) - - #if !defined(__WIN32__) && !defined(HAVE_STRNCASECMP) #define STRNCASECMP my_strncasecmp @@ -833,7 +828,7 @@ int packet_parse_ssl(const char* buf, int len, char prefix[4]; /* <<1:8,Length:24,Data/binary>> */ prefix[0] = 1; - put_int24(&prefix[1],len-3); + put_int24(len-3,&prefix[1]); return pcb->ssl_tls(arg, 22, major, minor, buf+3, len-3, prefix, sizeof(prefix)); } else { |