
/* $Id: Pvmfgather.c,v 1.1 1997/06/27 16:24:14 pvmsrc Exp $ */

#ifdef WIN32
#include "..\..\include\pvm3.h"
#include "..\..\src\pvmwin.h"
#else 
#include "pvm3.h"
#endif

#include "pvm_consts.h"

#ifdef __WATCOMC__
#include "watforstr.h"
void __fortran
PVMFGATHER (result, data, count, datatype, msgtag, gname_str, rootinst, info)
void *result, *data;
int *count, *datatype, *msgtag, *rootinst, *info;
WatcomFortranStr* gname_str;
{
   char* gname_ptr = gname_str->strP;
   int   gname_len = gname_str->len;
#else
void __stdcall
PVMFGATHER (result, data, count, datatype, msgtag, gname_ptr,gname_len, rootinst, info)
void *result, *data;
int *count, *datatype, *msgtag, *rootinst, *info;
char * gname_ptr; int gname_len;
{
#endif

  char tgroup[MAX_GRP_NAME + 1];

  /*
   * Copy the group name to make sure there's a NUL at the end.
   */

  if (ftocstr(tgroup,sizeof(tgroup),gname_ptr,gname_len))
    {
    *info = PvmBadParam;
    return;
    }

  *info = pvm_gather(result, data, *count, *datatype, *msgtag, tgroup, 
                     *rootinst);

}

