This source file includes following definitions.
- MPI_Info_delete
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 #include "mpioimpl.h"
   9 
  10 #ifdef HAVE_WEAK_SYMBOLS
  11 
  12 #if defined(HAVE_PRAGMA_WEAK)
  13 #pragma weak MPI_Info_delete = PMPI_Info_delete
  14 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
  15 #pragma _HP_SECONDARY_DEF PMPI_Info_delete MPI_Info_delete
  16 #elif defined(HAVE_PRAGMA_CRI_DUP)
  17 #pragma _CRI duplicate MPI_Info_delete as PMPI_Info_delete
  18 
  19 #endif
  20 
  21 
  22 #define MPIO_BUILD_PROFILING
  23 #include "mpioprof.h"
  24 #endif
  25 
  26 
  27 
  28 
  29 
  30 
  31 
  32 
  33 
  34 
  35 int MPI_Info_delete(MPI_Info info, char *key)
  36 {
  37     MPI_Info prev, curr;
  38     int done;
  39 
  40     if ((info <= (MPI_Info) 0) || (info->cookie != MPIR_INFO_COOKIE)) {
  41         FPRINTF(stderr, "MPI_Info_delete: Invalid info object\n");
  42         MPI_Abort(MPI_COMM_WORLD, 1);
  43     }
  44 
  45     if (key <= (char *) 0) {
  46         FPRINTF(stderr, "MPI_Info_delete: key is an invalid address\n");
  47         MPI_Abort(MPI_COMM_WORLD, 1);
  48     }
  49 
  50     if (strlen(key) > MPI_MAX_INFO_KEY) {
  51         FPRINTF(stderr, "MPI_Info_delete: key is longer than MPI_MAX_INFO_KEY\n");
  52         MPI_Abort(MPI_COMM_WORLD, 1);
  53     }
  54 
  55     if (!strlen(key)) {
  56         FPRINTF(stderr, "MPI_Info_delete: key is a null string\n");
  57         MPI_Abort(MPI_COMM_WORLD, 1);
  58     }
  59 
  60     prev = info;
  61     curr = info->next;
  62     done = 0;
  63 
  64     while (curr) {
  65         if (!strcmp(curr->key, key)) {
  66             ADIOI_Free(curr->key); 
  67             ADIOI_Free(curr->value);
  68             prev->next = curr->next;
  69             ADIOI_Free(curr);
  70             done = 1;
  71             break;
  72         }
  73         prev = curr;
  74         curr = curr->next;
  75     }
  76 
  77     if (!done) {
  78         FPRINTF(stderr, "MPI_Info_delete: key not defined in info\n");
  79         MPI_Abort(MPI_COMM_WORLD, 1);   
  80     }
  81 
  82     return MPI_SUCCESS;
  83 }