gethostname.c 324 B

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