mpi module plugged.
[scilab.git] / scilab / modules / mpi / src / c / serialization.c
index 6318ed7..ce1cfbc 100644 (file)
@@ -431,7 +431,15 @@ static int serialize_sparse(void *_pvCtx, int *_piAddr, int **_piBuffer, int *_p
 
 int serialize_to_mpi(void *_pvCtx, int *_piAddr, int **_piBuffer, int *_piBufferSize)
 {
-    switch (*_piAddr)
+    int iType = 0;
+    SciErr sciErr = getVarType(_pvCtx, _piAddr, &iType);
+    if (sciErr.iErr)
+    {
+        printError(&sciErr, 0);
+        return 0;
+    }
+
+    switch (iType)
     {
         case sci_matrix:
             return serialize_double(_pvCtx, _piAddr, _piBuffer, _piBufferSize);
@@ -455,4 +463,4 @@ int serialize_to_mpi(void *_pvCtx, int *_piAddr, int **_piBuffer, int *_piBuffer
             return -1;
             break;
     }
-}
\ No newline at end of file
+}