#include #include #include #include #include #include "version.h" const char *init_copysign(char **alloc) { *alloc = NULL; if (ENABLE_NLS) { char *buf = str_iconv("\xc2\xa9", "UTF-8", locale_charset()); if (buf) return *alloc = buf; } return "(C)"; } #define VERSION_HEAD_FMT "%s (RRace) %s\nCopyright %s 2022 Nick Bowler" #define VERSION_HEAD_ARGS progname, PACKAGE_VERSION, copysign void version_print_head(const char *progname, FILE *f) { const char *copysign; char *copybuf; copysign = init_copysign(©buf); printf(VERSION_HEAD_FMT, VERSION_HEAD_ARGS); putc('\n', f); free(copybuf); } char *version_format_head(const char *progname) { const char *copysign; char *copybuf, *ret; copysign = init_copysign(©buf); ret = malloc(sizeof VERSION_HEAD_FMT + 100); if (ret) sprintf(ret, VERSION_HEAD_FMT, VERSION_HEAD_ARGS); free(copybuf); return ret; }