diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | hostname.c | 13 | ||||
-rw-r--r-- | hostname.h | 9 |
4 files changed, 28 insertions, 2 deletions
@@ -1,3 +1,4 @@ +hostname ls pwd sort @@ -3,7 +3,10 @@ CC = clang CFLAGS = -std=c90 -Weverything -all : ls pwd sort whoami +all : hostname ls pwd sort whoami + +hostname : hostname.c hostname.h + $(CC) $(CFLAGS) hostname.c -o hostname ls : ls.c ls.h $(CC) $(CFLAGS) ls.c -o ls @@ -19,5 +22,5 @@ whoami : whoami.c whoami.h clean : rm -f -- *.o - rm -f ls pwd sort whoami + rm -f hostname ls pwd sort whoami diff --git a/hostname.c b/hostname.c new file mode 100644 index 0000000..532fc16 --- /dev/null +++ b/hostname.c @@ -0,0 +1,13 @@ +#include "hostname.h" + +int main(void) { + struct utsname *name; + name = malloc(sizeof(struct utsname)); + if (uname(name) == -1) { + perror("uname"); + exit(EXIT_FAILURE); + } + fprintf(stdout, "%s\n", name->nodename); + exit(EXIT_SUCCESS); +} + diff --git a/hostname.h b/hostname.h new file mode 100644 index 0000000..4eb0b32 --- /dev/null +++ b/hostname.h @@ -0,0 +1,9 @@ +#ifndef __HOSTNAME_H +#define __HOSTNAME_H + +#include <stdio.h> +#include <stdlib.h> +#include <sys/utsname.h> + +#endif + |