1 /* ISC license. */
2
3 #include <pwd.h>
4 #include <errno.h>
5 #include <skalibs/buffer.h>
6 #include <skalibs/strerr2.h>
7
8 #define USAGE "homeof user"
9
main(int argc,char const * const * argv)10 int main (int argc, char const *const *argv)
11 {
12 struct passwd *pw ;
13 PROG = "homeof" ;
14 if (argc < 2) strerr_dieusage(100, USAGE) ;
15 pw = getpwnam(argv[1]) ;
16 if (!pw)
17 {
18 if (errno)
19 strerr_diefu2sys(111, "get passwd entry for ", argv[1]) ;
20 else
21 strerr_diefu3x(111, "get passwd entry for ", argv[1], ": no such user") ;
22 }
23 if ((buffer_puts(buffer_1small, pw->pw_dir) < 0)
24 || (buffer_putflush(buffer_1small, "\n", 1) < 0))
25 strerr_diefu1sys(111, "write to stdout") ;
26 return 0 ;
27 }
28