audit: add actual audit log I/O functions (ref #88)

pull/100/head
William Pitcock 2016-07-10 15:03:58 -05:00
parent 8ccc10863c
commit 41e0a65870
4 changed files with 42 additions and 0 deletions

View File

@ -57,6 +57,7 @@ EXTRA_DIST = \
pkginclude_HEADERS = libpkgconf/bsdstubs.h libpkgconf/iter.h libpkgconf/libpkgconf.h libpkgconf/stdinc.h
libpkgconf_la_SOURCES = \
libpkgconf/audit.c \
libpkgconf/cache.c \
libpkgconf/pkg.c \
libpkgconf/bsdstubs.c \

34
libpkgconf/audit.c Normal file
View File

@ -0,0 +1,34 @@
/*
* audit.c
* package audit log functions
*
* Copyright (c) 2016 pkgconf authors (see AUTHORS).
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* This software is provided 'as is' and without any warranty, express or
* implied. In no event shall the authors be liable for any damages arising
* from the use of this software.
*/
#include <libpkgconf/libpkgconf.h>
static FILE *pkgconf_auditf = NULL;
void
pkgconf_audit_open_log(FILE *auditf)
{
pkgconf_auditf = auditf;
}
void
pkgconf_audit_log(const char *format, ...)
{
va_list va;
va_start(va, format);
vfprintf(pkgconf_auditf, format, va);
va_end(va);
}

View File

@ -206,4 +206,8 @@ void pkgconf_cache_add(pkgconf_pkg_t *pkg);
void pkgconf_cache_remove(pkgconf_pkg_t *pkg);
void pkgconf_cache_free(void);
/* audit.c */
void pkgconf_audit_open_log(FILE *auditf);
void pkgconf_audit_log(const char *format, ...) PRINTFLIKE(1, 2);
#endif

3
main.c
View File

@ -782,7 +782,10 @@ main(int argc, char *argv[])
logfile_arg = getenv("PKG_CONFIG_LOG");
if (logfile_arg != NULL)
{
logfile_out = fopen(logfile_arg, "w");
pkgconf_audit_open_log(logfile_out);
}
if (required_module_version != NULL)
{