gethostname.c 304 B

12345678910111213
  1. #include <unistd.h>
  2. #include <sys/utsname.h>
  3. int gethostname(char *name, size_t len)
  4. {
  5. size_t i;
  6. struct utsname uts;
  7. if (uname(&uts)) return -1;
  8. if (len > sizeof uts.nodename) len = sizeof uts.nodename;
  9. for (i=0; i<len && (name[i] = uts.nodename[i]); i++);
  10. if (i==len) name[i-1] = 0;
  11. return 0;
  12. }