aboutsummaryrefslogtreecommitdiff
path: root/lang/erlang14/files
diff options
context:
space:
mode:
authorJimmy Olgeni <olgeni@FreeBSD.org>2007-02-20 21:20:42 +0000
committerJimmy Olgeni <olgeni@FreeBSD.org>2007-02-20 21:20:42 +0000
commit4dbeec9af9c1036e33abe7bceb91e1eadf6dba0b (patch)
tree3381ebf262d5cc03f89816fcad5933650f3f29f2 /lang/erlang14/files
parentf29ec3fb3b867ebb2770f313ac7f9955a04a6c40 (diff)
Notes
Diffstat (limited to 'lang/erlang14/files')
-rw-r--r--lang/erlang14/files/patch-erts_emulator_beam_erl__process__dump.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/lang/erlang14/files/patch-erts_emulator_beam_erl__process__dump.c b/lang/erlang14/files/patch-erts_emulator_beam_erl__process__dump.c
new file mode 100644
index 000000000000..cdccf8671ff6
--- /dev/null
+++ b/lang/erlang14/files/patch-erts_emulator_beam_erl__process__dump.c
@@ -0,0 +1,27 @@
+
+$FreeBSD$
+
+--- erts/emulator/beam/erl_process_dump.c.orig
++++ erts/emulator/beam/erl_process_dump.c
+@@ -399,9 +399,11 @@
+ static void
+ dump_externally(int to, void *to_arg, Eterm term)
+ {
+- byte sbuf[1024]; /* encode and hope for the best ... */
+- byte* s;
+- byte* p;
++ byte *sbuf, *s, *p;
++ unsigned size;
++
++ size = encode_size_struct(term, TERM_TO_BINARY_DFLAGS);
++ sbuf = (byte *) erts_alloc(ERTS_ALC_T_TMP, size);
+
+ s = p = sbuf;
+ erts_to_external_format(NULL, term, &p, NULL, NULL);
+@@ -409,4 +411,6 @@
+ while (s < p) {
+ erts_print(to, to_arg, "%02X", *s++);
+ }
++
++ erts_free(ERTS_ALC_T_TMP, (void *) sbuf);
+ }