pwd.c (628B)
1 // Copyright 2018 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2 // Distributed under the terms of the CC-BY-SA-4.0 license
3
4 #include <errno.h> /* errno */
5 #include <stdio.h> /* puts, perror, printf */
6 #include <stdlib.h> /* exit */
7 #include <string.h> /* strerror */
8 #include <unistd.h> /* getcwd() */
9
10 char buf[BUFSIZ];
11
12 void usage(char *a0)
13 {
14 (void)printf("usage: %s\n", a0);
15 exit(EXIT_SUCCESS);
16 }
17
18 int main(int argc, char *argv[])
19 {
20 if(argc != 1) usage(argv[0]);
21
22 if(getcwd(buf, sizeof(buf)) == NULL)
23 {
24 perror(strerror(errno));
25 exit(EXIT_FAILURE);
26 }
27 else
28 {
29 const char *pwd = buf;
30 return puts(pwd);
31 }
32 }