summaryrefslogtreecommitdiff
path: root/libguile/foreign.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-01-14 22:22:22 +0100
committerLudovic Courtès <ludo@gnu.org>2012-01-14 22:22:22 +0100
commit1acb290f6628a6aea9a78dea9e3e91b106d22e1b (patch)
tree7a8f16c287fdd1a0aca04aa968e0a8dade411f21 /libguile/foreign.c
parentc5f6c2e47fab220fd090d911efc2a71a563b7c1d (diff)
downloadguile-1acb290f6628a6aea9a78dea9e3e91b106d22e1b.tar.gz
Fix signed/unsigned pointer mismatches.
* libguile/foreign.c (scm_pointer_to_bytevector, scm_bytevector_to_pointer): Use pointers of the same signedness.
Diffstat (limited to 'libguile/foreign.c')
-rw-r--r--libguile/foreign.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libguile/foreign.c b/libguile/foreign.c
index 6c05d7800..f8c268d51 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -269,7 +269,8 @@ SCM_DEFINE (scm_pointer_to_bytevector, "pointer->bytevector", 2, 2, 0,
blen = scm_to_size_t (len);
- ret = scm_c_take_typed_bytevector (ptr + boffset, blen, btype);
+ ret = scm_c_take_typed_bytevector ((signed char *) ptr + boffset,
+ blen, btype);
register_weak_reference (ret, pointer);
return ret;
}
@@ -283,7 +284,7 @@ SCM_DEFINE (scm_bytevector_to_pointer, "bytevector->pointer", 1, 1, 0,
#define FUNC_NAME s_scm_bytevector_to_pointer
{
SCM ret;
- scm_t_int8 *ptr;
+ signed char *ptr;
size_t boffset;
SCM_VALIDATE_BYTEVECTOR (1, bv);