1e5c89e4eSSatish Balay /* 2e5c89e4eSSatish Balay Code for manipulating files. 3e5c89e4eSSatish Balay */ 4c6db04a5SJed Brown #include <petscsys.h> 5e5c89e4eSSatish Balay #if defined(PETSC_HAVE_WINDOWS_H) 6e5c89e4eSSatish Balay #include <windows.h> 7e5c89e4eSSatish Balay #endif 8e5c89e4eSSatish Balay 9e5c89e4eSSatish Balay #if defined(PETSC_HAVE_GET_USER_NAME) PetscGetUserName(char name[],size_t nlen)10d71ae5a4SJacob FaibussowitschPetscErrorCode PetscGetUserName(char name[], size_t nlen) 11d71ae5a4SJacob Faibussowitsch { 12e5c89e4eSSatish Balay PetscFunctionBegin; 13e5c89e4eSSatish Balay GetUserName((LPTSTR)name, (LPDWORD)(&nlen)); 143ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 15e5c89e4eSSatish Balay } 16e5c89e4eSSatish Balay 1745082d64SJed Brown #else 18e5c89e4eSSatish Balay /*@C 19e5c89e4eSSatish Balay PetscGetUserName - Returns the name of the user. 20e5c89e4eSSatish Balay 21e5c89e4eSSatish Balay Not Collective 22e5c89e4eSSatish Balay 23e5c89e4eSSatish Balay Input Parameter: 2410450e9eSJacob Faibussowitsch . nlen - length of name 25e5c89e4eSSatish Balay 26e5c89e4eSSatish Balay Output Parameter: 27e5c89e4eSSatish Balay . name - contains user name. Must be long enough to hold the name 28e5c89e4eSSatish Balay 29e5c89e4eSSatish Balay Level: developer 30e5c89e4eSSatish Balay 31*ce78bad3SBarry Smith Fortran Note: 32*ce78bad3SBarry Smith .vb 33*ce78bad3SBarry Smith character*(32) str 34*ce78bad3SBarry Smith call PetscGetUserName(str,ierr) 35*ce78bad3SBarry Smith .ve 36*ce78bad3SBarry Smith 37db781477SPatrick Sanan .seealso: `PetscGetHostName()` 38e5c89e4eSSatish Balay @*/ PetscGetUserName(char name[],size_t nlen)39d71ae5a4SJacob FaibussowitschPetscErrorCode PetscGetUserName(char name[], size_t nlen) 40d71ae5a4SJacob Faibussowitsch { 4145082d64SJed Brown const char *user; 42e5c89e4eSSatish Balay 43e5c89e4eSSatish Balay PetscFunctionBegin; 4445082d64SJed Brown user = getenv("USER"); 4545082d64SJed Brown if (!user) user = "Unknown"; 469566063dSJacob Faibussowitsch PetscCall(PetscStrncpy(name, user, nlen)); 473ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 4845082d64SJed Brown } 49ed74d47aSSatish Balay #endif 50