From 521d1f705f770f508809d299504ce88b1c297074 Mon Sep 17 00:00:00 2001 From: Ivan Raikov Date: Fri, 15 Jan 2016 17:29:32 -0800 Subject: [PATCH] bug fix in processing of input arguments --- init.scm | 13 ++++++------- mpi.release-info | 1 + mpi.setup | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/init.scm b/init.scm index f87289c..1947d3e 100644 --- a/init.scm +++ b/init.scm @@ -123,7 +123,6 @@ static void MPI_error_handler(MPI_Comm * comm, int * errcode, ...) argv[i] = NULL; - MPI_Info_create(&info); C_i_check_list (locations); @@ -136,7 +135,7 @@ static void MPI_error_handler(MPI_Comm * comm, int * errcode, ...) if ((locc > 0) && (locv != NULL)) { tail = locations; - for (i = 0; i < locc; i++) + for (i = 0; i < locc; i+=2) { x = C_u_i_car (tail); tail = C_u_i_cdr (tail); @@ -164,7 +163,6 @@ static void MPI_error_handler(MPI_Comm * comm, int * errcode, ...) MPI_Info_set(info, skey, sval); locv[i] = skey; locv[i+1] = sval; - } } @@ -177,7 +175,7 @@ static void MPI_error_handler(MPI_Comm * comm, int * errcode, ...) MPI_Info_free (&info); - for (i = 0; i < locc; i++) + for (i = 0; i < locc; i+=2) { skey = locv[i]; sval = locv[i+1]; @@ -189,8 +187,9 @@ static void MPI_error_handler(MPI_Comm * comm, int * errcode, ...) { free (sval); } + locv[i] = NULL; + locv[i+1] = NULL; } - memset (locv, (int)NULL, locvsz); free (locv); for (i = 0; i < argc; i++) @@ -200,8 +199,8 @@ static void MPI_error_handler(MPI_Comm * comm, int * errcode, ...) { free (s); } + argv[i] = NULL; } - memset (argv, (int)NULL, argvsz); free (argv); } } @@ -271,8 +270,8 @@ EOF { free (s); } + argv[i] = NULL; } - memset (argv, (int)NULL, argvsz); free (argv); } MPI_Errhandler_create((MPI_Handler_function *)MPI_error_handler, &hdlr); diff --git a/mpi.release-info b/mpi.release-info index a65b152..64a1f44 100644 --- a/mpi.release-info +++ b/mpi.release-info @@ -3,6 +3,7 @@ (uri targz "https://github.com/iraikov/chicken-mpi/tarball/{egg-release}") (uri files-list "http://code.call-cc.org/files-list?egg={egg-name};egg-release={egg-release};chicken-release={chicken-release}" old-uri) +(release "1.17") (release "1.16") (release "1.15" old-uri) diff --git a/mpi.setup b/mpi.setup index eb18c99..77b8226 100644 --- a/mpi.setup +++ b/mpi.setup @@ -47,6 +47,6 @@ `(,(dynld-name "mpi") ,(dynld-name "mpi.import") ) ; Assoc list with properties for your extension: - `((version 1.16) + `((version 1.17) ))