mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
getlocalbase: Make default path actually configurable
We include paths.h in getlocalbase.c, which defines _PATH_LOCALBASE. This will override a definition on the command line, meaning it is impossible to override like how the manpage says you can, and it means the code to provide a fallback default is dead as the macro is always defined. Instead, introduce a new LOCALBASE_PATH macro like LOCALBASE_CTL_LEN that can be set on the command line and will default to the system's existing _PATH_LOCALBASE to avoid duplicating the default here. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D40975
This commit is contained in:
parent
d1e44bc944
commit
3a46fe2261
2 changed files with 9 additions and 9 deletions
|
|
@ -27,7 +27,7 @@
|
|||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd November 25, 2020
|
||||
.Dd July 11, 2023
|
||||
.Dt GETLOCALBASE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
|
@ -53,10 +53,10 @@ If that does not exist then the
|
|||
.Va user.localbase
|
||||
sysctl is checked.
|
||||
If that also does not exist then the value of the
|
||||
.Dv _PATH_LOCALBASE
|
||||
.Dv LOCALBASE_PATH
|
||||
compile-time variable is used.
|
||||
If that is undefined then the default of
|
||||
.Pa /usr/local
|
||||
If that is undefined then the system default,
|
||||
.Pa _PATH_LOCALBASE
|
||||
is used.
|
||||
.Pp
|
||||
The contents of the string returned by the
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ __FBSDID("$FreeBSD$");
|
|||
#include <libutil.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifndef _PATH_LOCALBASE
|
||||
#define _PATH_LOCALBASE "/usr/local"
|
||||
#ifndef LOCALBASE_PATH
|
||||
#define LOCALBASE_PATH _PATH_LOCALBASE
|
||||
#endif
|
||||
|
||||
#ifndef LOCALBASE_CTL_LEN
|
||||
|
|
@ -73,17 +73,17 @@ getlocalbase(void)
|
|||
#if LOCALBASE_CTL_LEN > 0
|
||||
if (sysctl(localbase_oid, 2, localpath, &localpathlen, NULL, 0) != 0) {
|
||||
if (errno != ENOMEM)
|
||||
localbase = _PATH_LOCALBASE;
|
||||
localbase = LOCALBASE_PATH;
|
||||
else
|
||||
localbase = ILLEGAL_PREFIX;
|
||||
} else {
|
||||
if (localpath[0] != '\0')
|
||||
localbase = localpath;
|
||||
else
|
||||
localbase = _PATH_LOCALBASE;
|
||||
localbase = LOCALBASE_PATH;
|
||||
}
|
||||
#else
|
||||
localbase = _PATH_LOCALBASE;
|
||||
localbase = LOCALBASE_PATH;
|
||||
#endif
|
||||
|
||||
return (localbase);
|
||||
|
|
|
|||
Loading…
Reference in a new issue