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