seteuid.c 314 B

12345678910111213141516171819202122
  1. #include <unistd.h>
  2. #include <stdio.h>
  3. #include <errno.h>
  4. int seteuid(uid_t uid)
  5. {
  6. switch (sizeof (uid_t))
  7. {
  8. case 2:
  9. if (uid == 65535)
  10. {
  11. __set_errno(EINVAL);
  12. return -1;
  13. }
  14. break;
  15. default:
  16. fprintf (stderr, "Uknown uid_t size and sign\n");
  17. }
  18. return setreuid(-1, uid);
  19. }