blob: a6e38e5b446a879ae2119c7d54def85a682ea503 [file] [log] [blame]
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* This file is part of libgpiod.
*
* Copyright (C) 2017-2018 Bartosz Golaszewski <bartekgola@gmail.com>
*/
/* Common code for GPIO tools. */
#include <errno.h>
#include <gpiod.h>
#include <libgen.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "tools-common.h"
const char *get_progname(void)
{
return program_invocation_name;
}
void die(const char *fmt, ...)
{
va_list va;
va_start(va, fmt);
fprintf(stderr, "%s: ", program_invocation_name);
vfprintf(stderr, fmt, va);
fprintf(stderr, "\n");
va_end(va);
exit(EXIT_FAILURE);
}
void die_perror(const char *fmt, ...)
{
va_list va;
va_start(va, fmt);
fprintf(stderr, "%s: ", program_invocation_name);
vfprintf(stderr, fmt, va);
fprintf(stderr, ": %s\n", strerror(errno));
va_end(va);
exit(EXIT_FAILURE);
}
void print_version(void)
{
printf("%s (libgpiod) v%s\n",
program_invocation_short_name, gpiod_version_string());
printf("Copyright (C) 2017-2018 Bartosz Golaszewski\n");
printf("License: LGPLv2.1\n");
printf("This is free software: you are free to change and redistribute it.\n");
printf("There is NO WARRANTY, to the extent permitted by law.\n");
}