X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fdirs.c.in;h=658a74b4c6179d7be18fbb6d5e5cc1d00e7bf4bd;hb=f40869bdf6feca4d3ff7c59a1fb1f7ac101bc967;hp=5b6b8748a1fe5fb2c7201ca34143f940aef8291b;hpb=2fad9ebd12e03a4be9d6f0227b32242287a8bec2;p=sliver-openvswitch.git diff --git a/lib/dirs.c.in b/lib/dirs.c.in index 5b6b8748a..658a74b4c 100644 --- a/lib/dirs.c.in +++ b/lib/dirs.c.in @@ -1,6 +1,6 @@ #line 2 "@srcdir@/lib/dirs.c.in" /* - * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ #include #include "dirs.h" #include +#include "util.h" struct directory { const char *value; /* Actual value; NULL if not yet determined. */ @@ -65,6 +66,23 @@ ovs_logdir(void) return get_dir(&d); } +const char * +ovs_dbdir(void) +{ + static const char *dbdir; + if (!dbdir) { + dbdir = getenv("OVS_DBDIR"); + if (!dbdir || !dbdir[0]) { + char *sysconfdir = getenv("OVS_SYSCONFDIR"); + + dbdir = (sysconfdir + ? xasprintf("%s/openvswitch", sysconfdir) + : @DBDIR@); + } + } + return dbdir; +} + const char * ovs_bindir(void) {