getuser.c 282 B

123456789101112131415161718192021
  1. #include <u.h>
  2. #include <libc.h>
  3. char *
  4. getuser(void)
  5. {
  6. static char user[64];
  7. int fd;
  8. int n;
  9. fd = open("/dev/user", OREAD);
  10. if(fd < 0)
  11. return "none";
  12. n = read(fd, user, (sizeof user)-1);
  13. close(fd);
  14. if(n <= 0)
  15. strcpy(user, "none");
  16. else
  17. user[n] = 0;
  18. return user;
  19. }