dect
/
libnl
Archived
13
0
Fork 0

Allow NLSYSCONFDIR environment variable to overwrite built-in sysconfdir

This commit is contained in:
Thomas Graf 2011-03-24 21:14:52 +01:00
parent 8d5493418a
commit f523f297f7
4 changed files with 18 additions and 4 deletions

View File

@ -186,4 +186,16 @@ static inline int wait_for_ack(struct nl_sock *sk)
return nl_wait_for_ack(sk);
}
static inline int build_sysconf_path(char **strp, const char *filename)
{
char *sysconfdir;
sysconfdir = getenv("NLSYSCONFDIR");
if (!sysconfdir)
sysconfdir = SYSCONFDIR;
return asprintf(strp, "%s/%s", sysconfdir, filename);
}
#endif

View File

@ -310,7 +310,8 @@ int rtnl_tc_read_classid_file(void)
FILE *fd;
int err;
asprintf(&path, "%s/classid", SYSCONFDIR);
if (build_sysconf_path(&path, "classid") < 0)
return -NLE_NOMEM;
/* if stat fails, just (re-)read the file */
if (stat(path, &st) == 0) {
@ -392,7 +393,7 @@ int rtnl_classid_generate(const char *name, uint32_t *result, uint32_t parent)
NL_DBG(2, "Generated new classid %#x\n", classid);
if (asprintf(&path, "%s/classid", SYSCONFDIR) < 0)
if (build_sysconf_path(&path, "classid") < 0)
return -NLE_NOMEM;
if (!(fd = fopen(path, "a"))) {

View File

@ -94,7 +94,8 @@ static int read_pktlocs(void)
int i, err;
FILE *fd;
asprintf(&path, "%s/pktloc", SYSCONFDIR);
if (build_sysconf_path(&path, "pktloc") < 0)
return -NLE_NOMEM;
/* if stat fails, just try to read the file */
if (stat(path, &st) == 0) {

View File

@ -2,7 +2,7 @@
SUBDIRS = lib
AM_CPPFLAGS = -Wall -I${top_srcdir}/include -I${top_builddir}/include -D_GNU_SOURCE
AM_CPPFLAGS = -Wall -I${top_srcdir}/include -I${top_builddir}/include -D_GNU_SOURCE -DSYSCONFDIR=\"$(sysconfdir)/libnl\"
AM_LDFLAGS = -L${top_builddir}/lib -L${top_builddir}/src/lib -lnl-cli -lnl -lnl-nf -lnl-genl -lnl-route
sbin_PROGRAMS = \