scilab: use uintptr_t for storing pointers in STL container of pointers

This commit is contained in:
Simon Marchetto 2014-03-20 16:02:43 +01:00
commit c37baf0b7c
2 changed files with 11 additions and 7 deletions

View file

@ -4,6 +4,10 @@
* *
*/ */
%{
#include <stdint.h>
%}
#define SWIG_Traits_Sequence_frag(Type) %fragment_name(AsVal_Traits_Sequence, Type) #define SWIG_Traits_Sequence_frag(Type) %fragment_name(AsVal_Traits_Sequence, Type)
#define SWIG_AsCheck_Sequence_frag(Type...) %fragment_name(AsCheck_Sequence, Type) #define SWIG_AsCheck_Sequence_frag(Type...) %fragment_name(AsCheck_Sequence, Type)
@ -77,10 +81,10 @@ namespace swig {
}; };
template <typename T> struct traits_from_sequence<T*> { template <typename T> struct traits_from_sequence<T*> {
static int create(int size, void **sequence) { static int create(int size, void **sequence) {
return SWIG_FromCreate_Sequence_dec(ptr)(size, (long long **)sequence); return SWIG_FromCreate_Sequence_dec(ptr)(size, (uintptr_t **)sequence);
} }
static SwigSciObject set(int size, void *sequence) { static SwigSciObject set(int size, void *sequence) {
return SWIG_FromSet_Sequence_dec(ptr)(size, (long long *)sequence); return SWIG_FromSet_Sequence_dec(ptr)(size, (uintptr_t *)sequence);
} }
}; };
} }
@ -150,7 +154,7 @@ namespace swig {
}; };
template <typename T> struct traits_from_sequenceitem<T*> { template <typename T> struct traits_from_sequenceitem<T*> {
static int from(void *pSequence, int iItemIndex, T *itemValue) { static int from(void *pSequence, int iItemIndex, T *itemValue) {
return SWIG_From_SequenceItem_dec(ptr)((long long *)pSequence, iItemIndex, (long long) itemValue); return SWIG_From_SequenceItem_dec(ptr)((uintptr_t *)pSequence, iItemIndex, (uintptr_t) itemValue);
} }
}; };
} }

View file

@ -36,8 +36,8 @@ SWIG_AsSize_Sequence_dec(ptr)(SwigSciObject _obj, int *_piSize) {
%fragment(SWIG_FromCreate_Sequence_frag(ptr), "header") { %fragment(SWIG_FromCreate_Sequence_frag(ptr), "header") {
SWIGINTERN int SWIGINTERN int
SWIG_FromCreate_Sequence_dec(ptr)(int _size, long long **_sequence) { SWIG_FromCreate_Sequence_dec(ptr)(int _size, uintptr_t **_sequence) {
*_sequence = new long long[_size]; *_sequence = new uintptr_t[_size];
return *_sequence != NULL ? SWIG_OK : SWIG_ERROR; return *_sequence != NULL ? SWIG_OK : SWIG_ERROR;
} }
} }
@ -45,7 +45,7 @@ SWIG_FromCreate_Sequence_dec(ptr)(int _size, long long **_sequence) {
%fragment(SWIG_FromSet_Sequence_frag(ptr), "header") { %fragment(SWIG_FromSet_Sequence_frag(ptr), "header") {
SWIGINTERN SwigSciObject SWIGINTERN SwigSciObject
SWIG_FromSet_Sequence_dec(ptr)(int _size, long long *_sequence) { SWIG_FromSet_Sequence_dec(ptr)(int _size, uintptr_t *_sequence) {
SciErr sciErr; SciErr sciErr;
int *piListAddr; int *piListAddr;
@ -116,7 +116,7 @@ SWIG_AsVal_SequenceItem_dec(ptr)(SwigSciObject _obj, int *_piSequence, int _item
%fragment(SWIG_From_SequenceItem_frag(ptr), "header") { %fragment(SWIG_From_SequenceItem_frag(ptr), "header") {
SWIGINTERN int SWIGINTERN int
SWIG_From_SequenceItem_dec(ptr)(long long *_pSequence, int _iItemIndex, long long _itemValue) { SWIG_From_SequenceItem_dec(ptr)(uintptr_t *_pSequence, int _iItemIndex, uintptr_t _itemValue) {
_pSequence[_iItemIndex] = _itemValue; _pSequence[_iItemIndex] = _itemValue;
return SWIG_OK; return SWIG_OK;
} }