Actual source code: fuser.c

petsc-3.7.5 2017-01-01
Report Typos and Errors
  2: /*
  3:       Code for manipulating files.
  4: */
  5: #include <petscsys.h>
  6: #if defined(PETSC_HAVE_WINDOWS_H)
  7: #include <windows.h>
  8: #endif

 10: #if defined(PETSC_HAVE_GET_USER_NAME)
 13: PetscErrorCode  PetscGetUserName(char name[],size_t nlen)
 14: {
 16:   GetUserName((LPTSTR)name,(LPDWORD)(&nlen));
 17:   return(0);
 18: }

 20: #else
 23: /*@C
 24:     PetscGetUserName - Returns the name of the user.

 26:     Not Collective

 28:     Input Parameter:
 29:     nlen - length of name

 31:     Output Parameter:
 32: .   name - contains user name.  Must be long enough to hold the name

 34:     Level: developer

 36:     Concepts: user name

 38: .seealso: PetscGetHostName()
 39: @*/
 40: PetscErrorCode  PetscGetUserName(char name[],size_t nlen)
 41: {
 42:   const char     *user;

 46:   user = getenv("USER");
 47:   if (!user) user = "Unknown";
 48:   PetscStrncpy(name,user,nlen);
 49:   return(0);
 50: }
 51: #endif