aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_nif.c
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2011-11-15 20:10:21 +0100
committerPatrik Nyblom <[email protected]>2011-12-02 15:26:16 +0100
commite04704b1f40511a6e1090b4cb04ef543580cdcc7 (patch)
tree53b552ed234927259261550f49e88629389e6ba2 /erts/emulator/beam/erl_nif.c
parente78a1582dc13d770bf1a9de64ff817369c741ef5 (diff)
downloadotp-e04704b1f40511a6e1090b4cb04ef543580cdcc7.tar.gz
otp-e04704b1f40511a6e1090b4cb04ef543580cdcc7.tar.bz2
otp-e04704b1f40511a6e1090b4cb04ef543580cdcc7.zip
Iron out bugs in Win64 found in daily builds
Almost all uses of the 'long' datatype is removed from VM and tests Emulator test now runs w/o drivers crashing Nasty abs bug fixed in VM as well as type errors in allocator debug functions Still one allocator test that fails, domain knowledge is needed to fix that. Fix type inconsistency in beam_load causing crashes
Diffstat (limited to 'erts/emulator/beam/erl_nif.c')
-rw-r--r--erts/emulator/beam/erl_nif.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_nif.c b/erts/emulator/beam/erl_nif.c
index bf73c076e0..143f631f58 100644
--- a/erts/emulator/beam/erl_nif.c
+++ b/erts/emulator/beam/erl_nif.c
@@ -531,7 +531,7 @@ int enif_alloc_binary(size_t size, ErlNifBinary* bin)
}
refbin->flags = BIN_FLAG_DRV; /* BUGBUG: Flag? */
erts_refc_init(&refbin->refc, 1);
- refbin->orig_size = (long) size;
+ refbin->orig_size = (SWord) size;
bin->size = size;
bin->data = (unsigned char*) refbin->orig_bytes;
@@ -801,7 +801,7 @@ int enif_get_ulong(ErlNifEnv* env, Eterm term, unsigned long* ip)
unsigned int tmp;
ret = enif_get_uint(env,term,&tmp);
if (ret) {
- *ip = (long) tmp;
+ *ip = (unsigned long) tmp;
}
return ret;
#else