"Fossies" - the Fresh Open Source Software Archive

Member "openmpi-3.1.6/ompi/mpi/c/add_error_string.c" (18 Mar 2020, 2329 Bytes) of package /linux/misc/openmpi-3.1.6.tar.bz2:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "add_error_string.c" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
    3  *                         University Research and Technology
    4  *                         Corporation.  All rights reserved.
    5  * Copyright (c) 2004-2005 The University of Tennessee and The University
    6  *                         of Tennessee Research Foundation.  All rights
    7  *                         reserved.
    8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
    9  *                         University of Stuttgart.  All rights reserved.
   10  * Copyright (c) 2004-2005 The Regents of the University of California.
   11  *                         All rights reserved.
   12  * Copyright (c) 2006      University of Houston. All rights reserved.
   13  * Copyright (c) 2015      Research Organization for Information Science
   14  *                         and Technology (RIST). All rights reserved.
   15  * $COPYRIGHT$
   16  *
   17  * Additional copyrights may follow
   18  *
   19  * $HEADER$
   20  */
   21 #include "ompi_config.h"
   22 #include <stdio.h>
   23 #include <string.h>
   24 
   25 #include "ompi/mpi/c/bindings.h"
   26 #include "ompi/runtime/params.h"
   27 #include "ompi/communicator/communicator.h"
   28 #include "ompi/errhandler/errhandler.h"
   29 #include "ompi/errhandler/errcode.h"
   30 
   31 #if OMPI_BUILD_MPI_PROFILING
   32 #if OPAL_HAVE_WEAK_SYMBOLS
   33 #pragma weak MPI_Add_error_string = PMPI_Add_error_string
   34 #endif
   35 #define MPI_Add_error_string PMPI_Add_error_string
   36 #endif
   37 
   38 static const char FUNC_NAME[] = "MPI_Add_error_string";
   39 
   40 
   41 int MPI_Add_error_string(int errorcode, const char *string)
   42 {
   43     int rc;
   44 
   45     OPAL_CR_NOOP_PROGRESS();
   46 
   47     if ( MPI_PARAM_CHECK ) {
   48         OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
   49 
   50         if ( ompi_mpi_errcode_is_invalid(errorcode) )
   51             return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
   52                                           FUNC_NAME);
   53 
   54     if ( ompi_mpi_errcode_is_predefined(errorcode) )
   55         return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
   56                       FUNC_NAME);
   57 
   58     if ( MPI_MAX_ERROR_STRING < (strlen(string)+1) )
   59         return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
   60                       FUNC_NAME);
   61     }
   62 
   63     rc = ompi_mpi_errnum_add_string (errorcode, string, (int)(strlen(string)+1));
   64     if ( OMPI_SUCCESS != rc ) {
   65         return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN,
   66                                       FUNC_NAME);
   67     }
   68 
   69     return MPI_SUCCESS;
   70 }