diff options
author | olgeni <olgeni@FreeBSD.org> | 2003-08-31 22:39:34 +0800 |
---|---|---|
committer | olgeni <olgeni@FreeBSD.org> | 2003-08-31 22:39:34 +0800 |
commit | b873f1b0d91dc3eead59656b318e1c25ff70cddc (patch) | |
tree | 574c115bf833568af5889be766e1349c3693da7e /lang | |
parent | 799d1498c4d7b961ebf3160259b0e89342abcc51 (diff) | |
download | freebsd-ports-gnome-b873f1b0d91dc3eead59656b318e1c25ff70cddc.tar.gz freebsd-ports-gnome-b873f1b0d91dc3eead59656b318e1c25ff70cddc.tar.zst freebsd-ports-gnome-b873f1b0d91dc3eead59656b318e1c25ff70cddc.zip |
The ei_decode_longlong function fails when decoding long values >
2^32, due to a missing cast.
Obtained from: Javier París Fernández <paris@dc.fi.udc.es> on erlang-questions
Diffstat (limited to 'lang')
-rw-r--r-- | lang/erlang/Makefile | 1 | ||||
-rw-r--r-- | lang/erlang/files/patch-lib_erl__interface_src_decode_decode__longlong.c | 14 | ||||
-rw-r--r-- | lang/erlang14/Makefile | 1 | ||||
-rw-r--r-- | lang/erlang14/files/patch-lib_erl__interface_src_decode_decode__longlong.c | 14 |
4 files changed, 30 insertions, 0 deletions
diff --git a/lang/erlang/Makefile b/lang/erlang/Makefile index ca6510a7cfa1..4ea0f020c448 100644 --- a/lang/erlang/Makefile +++ b/lang/erlang/Makefile @@ -7,6 +7,7 @@ PORTNAME= erlang PORTVERSION= r9c0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= lang MASTER_SITES= ftp://ftp.erlang.org/pub/download/ \ diff --git a/lang/erlang/files/patch-lib_erl__interface_src_decode_decode__longlong.c b/lang/erlang/files/patch-lib_erl__interface_src_decode_decode__longlong.c new file mode 100644 index 000000000000..ce5e84161b1d --- /dev/null +++ b/lang/erlang/files/patch-lib_erl__interface_src_decode_decode__longlong.c @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- lib/erl_interface/src/decode/decode_longlong.c.orig Sun Aug 31 14:00:44 2003 ++++ lib/erl_interface/src/decode/decode_longlong.c Sun Aug 31 14:01:41 2003 +@@ -51,7 +51,7 @@ + int pos, shift = 0; + n = 0; + for (pos = 0; pos < arity; pos++) { +- n |= get8(s) << shift; ++ n |= ((EI_LONGLONG) get8(s)) << shift; + shift += 8; + } + } diff --git a/lang/erlang14/Makefile b/lang/erlang14/Makefile index ca6510a7cfa1..4ea0f020c448 100644 --- a/lang/erlang14/Makefile +++ b/lang/erlang14/Makefile @@ -7,6 +7,7 @@ PORTNAME= erlang PORTVERSION= r9c0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= lang MASTER_SITES= ftp://ftp.erlang.org/pub/download/ \ diff --git a/lang/erlang14/files/patch-lib_erl__interface_src_decode_decode__longlong.c b/lang/erlang14/files/patch-lib_erl__interface_src_decode_decode__longlong.c new file mode 100644 index 000000000000..ce5e84161b1d --- /dev/null +++ b/lang/erlang14/files/patch-lib_erl__interface_src_decode_decode__longlong.c @@ -0,0 +1,14 @@ + +$FreeBSD$ + +--- lib/erl_interface/src/decode/decode_longlong.c.orig Sun Aug 31 14:00:44 2003 ++++ lib/erl_interface/src/decode/decode_longlong.c Sun Aug 31 14:01:41 2003 +@@ -51,7 +51,7 @@ + int pos, shift = 0; + n = 0; + for (pos = 0; pos < arity; pos++) { +- n |= get8(s) << shift; ++ n |= ((EI_LONGLONG) get8(s)) << shift; + shift += 8; + } + } |