#include <pwd.h>

#ifdef SYSV
     int zc_pwnam(namin,namout,length)
#else
     int zc_pwnam_(namin,namout,length)
#endif
     char  *namin,*namout;
     int   *length;  
/* 
C----------------------------------------------------------------------
C
C.IDENTIFICATION: INTEGER Function ZC_PWNAM
C.LIBRARY:        VOS (experimental version)
C.AUTHOR:         L.Chiappetti - IFCTR Milano
C.VERSIONS:       0.0 - 17 Aug 95 - Test version (Ultrix)
C.PURPOSE:        Fortran-C-interface for getpwnam (NOT TO BE CALLED PUBLICLY)
C.METHOD:         call C routine getpwnam
C
C.SYNTAX:         I = ZC_PWNAM(namin,namout,length)
C.PARAMETERS:     CHARACTER*(*) namin    : username
C                 CHARACTER*(*) namout   : returned full name
C-                INTEGER       length   : returned string length
C.RESTRICTIONS:   It is recommended to set value to blank before calling    
C.NOTES:          
C.FILES:          none
C.REFERENCES:     getpwnam in C library
C
C----------------------------------------------------------------------
*/
{
     struct passwd *getpwnam(), *out;
     int j;
     out = getpwnam(namin) ;
     if (out == NULL) return -1;
     j=strlen(out->pw_gecos);
     *length = j;
     strcpy(namout,out->pw_gecos);
     return 0;
}
