diff options
Diffstat (limited to 'get-contact-file.c')
-rw-r--r-- | get-contact-file.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/get-contact-file.c b/get-contact-file.c new file mode 100644 index 0000000..e244941 --- /dev/null +++ b/get-contact-file.c @@ -0,0 +1,34 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + +/* Useful for deleting or backing up contacts */ + +USAGE("contact-id"); + + +int +main(int argc, char *argv[]) +{ + struct passwd *user; + char *path; + + NOFLAGS(argc != 1); + + if (!*argv[0] || strchr(argv[0], '/')) + usage(); + + errno = 0; + user = getpwuid(getuid()); + if (!user) + eprintf("getpwuid: %s\n", errno ? strerror(errno) : "user does not exist"); + + path = libcontacts_get_path(argv[0], user); + if (!path) + eprintf("libcontacts_get_path %s:", argv[0]); + + printf("%s\n", path); + + if (fflush(stdout) || ferror(stdout) || fclose(stdout)) + eprintf("printf:"); + return 0; +} |