X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fabde1ef6f5400b4d22fdf0c2d79e8ebe71db01b..52b44ef3895813ad0d582d7aae8658d5a3c2e3b6:/src/simix/smx_context_sysv.c diff --git a/src/simix/smx_context_sysv.c b/src/simix/smx_context_sysv.c index b81509aa0b..0248f2840b 100644 --- a/src/simix/smx_context_sysv.c +++ b/src/simix/smx_context_sysv.c @@ -161,13 +161,17 @@ void smx_ctx_sysv_wrapper(int count, ...) uintptr_t ctx_addr = 0; va_list ap; smx_ctx_sysv_t context; - int i; va_start(ap, count); +#if (SIZEOF_VOIDP <= SIZEOF_INT) + ctx_addr = (uintptr_t)va_arg(ap, int); +#else + int i; for(i = 0; i < count; i++) { ctx_addr <<= 8*sizeof(int); ctx_addr |= (uintptr_t)va_arg(ap, int); } +#endif va_end(ap); context = (smx_ctx_sysv_t)ctx_addr; (context->super.code) (context->super.argc, context->super.argv);