svn commit: r367687 - in head: sbin/nvmecontrol usr.sbin/mailwrapper usr.sbin/pkg

Scott Long scottl at FreeBSD.org
Sat Nov 14 18:01:16 UTC 2020


Author: scottl
Date: Sat Nov 14 18:01:14 2020
New Revision: 367687
URL: https://svnweb.freebsd.org/changeset/base/367687

Log:
  Replace hardcoded references to _PATH_LOCALBASE with calls to getlocalbase.3
  
  Reviewed by:	imp, se

Modified:
  head/sbin/nvmecontrol/comnd.c
  head/sbin/nvmecontrol/comnd.h
  head/sbin/nvmecontrol/nvmecontrol.c
  head/usr.sbin/mailwrapper/mailwrapper.c
  head/usr.sbin/pkg/Makefile
  head/usr.sbin/pkg/pkg.c

Modified: head/sbin/nvmecontrol/comnd.c
==============================================================================
--- head/sbin/nvmecontrol/comnd.c	Sat Nov 14 17:57:50 2020	(r367686)
+++ head/sbin/nvmecontrol/comnd.c	Sat Nov 14 18:01:14 2020	(r367687)
@@ -287,7 +287,7 @@ bad_arg:
  * Loads all the .so's from the specified directory.
  */
 void
-cmd_load_dir(const char *dir __unused, cmd_load_cb_t cb __unused, void *argp __unused)
+cmd_load_dir(char *dir, cmd_load_cb_t cb, void *argp)
 {
 	DIR *d;
 	struct dirent *dent;

Modified: head/sbin/nvmecontrol/comnd.h
==============================================================================
--- head/sbin/nvmecontrol/comnd.h	Sat Nov 14 17:57:50 2020	(r367686)
+++ head/sbin/nvmecontrol/comnd.h	Sat Nov 14 18:01:14 2020	(r367687)
@@ -96,7 +96,7 @@ void cmd_register(struct cmd *, struct cmd *);
 int arg_parse(int argc, char * const *argv, const struct cmd *f);
 void arg_help(int argc, char * const *argv, const struct cmd *f);
 void cmd_init(void);
-void cmd_load_dir(const char *dir, cmd_load_cb_t *cb, void *argp);
+void cmd_load_dir(char *dir, cmd_load_cb_t *cb, void *argp);
 int cmd_dispatch(int argc, char *argv[], const struct cmd *);
 
 #endif /* COMND_H */

Modified: head/sbin/nvmecontrol/nvmecontrol.c
==============================================================================
--- head/sbin/nvmecontrol/nvmecontrol.c	Sat Nov 14 17:57:50 2020	(r367686)
+++ head/sbin/nvmecontrol/nvmecontrol.c	Sat Nov 14 18:01:14 2020	(r367687)
@@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$");
 #include <err.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <libutil.h>
 #include <paths.h>
 #include <stdbool.h>
 #include <stddef.h>
@@ -178,11 +179,17 @@ get_nsid(int fd, char **ctrlr_str, uint32_t *nsid)
 int
 main(int argc, char *argv[])
 {
+	char locallib[MAXPATHLEN];
+	size_t len;
 
 	cmd_init();
 
-	cmd_load_dir("/lib/nvmecontrol", NULL, NULL);
-	cmd_load_dir(_PATH_LOCALBASE "/lib/nvmecontrol", NULL, NULL);
+	snprintf(locallib, MAXPATHLEN, "/lib/nvmecontrol");
+	cmd_load_dir(locallib, NULL, NULL);
+	if ((len = getlocalbase(locallib, MAXPATHLEN)) > 0) {
+		strlcat(locallib, "/lib/nvmecontrol", MAXPATHLEN - len);
+		cmd_load_dir(locallib, NULL, NULL);
+	}
 
 	cmd_dispatch(argc, argv, NULL);
 

Modified: head/usr.sbin/mailwrapper/mailwrapper.c
==============================================================================
--- head/usr.sbin/mailwrapper/mailwrapper.c	Sat Nov 14 17:57:50 2020	(r367686)
+++ head/usr.sbin/mailwrapper/mailwrapper.c	Sat Nov 14 18:01:14 2020	(r367687)
@@ -105,8 +105,10 @@ main(int argc, char *argv[], char *envp[])
 	initarg(&al);
 	addarg(&al, argv[0]);
 
-	snprintf(localmailerconf, MAXPATHLEN, "%s/etc/mail/mailer.conf",
-	    getenv("LOCALBASE") ? getenv("LOCALBASE") : _PATH_LOCALBASE);
+	if ((len = getlocalbase(localmailerconf, MAXPATHLEN)) != 0) 
+		err(EX_OSERR, "cannot determine local path");
+
+	strlcat(localmailerconf, "/etc/mail/mailer.conf", MAXPATHLEN - len);
 
 	mailerconf = localmailerconf;
 	if ((config = fopen(localmailerconf, "r")) == NULL)

Modified: head/usr.sbin/pkg/Makefile
==============================================================================
--- head/usr.sbin/pkg/Makefile	Sat Nov 14 17:57:50 2020	(r367686)
+++ head/usr.sbin/pkg/Makefile	Sat Nov 14 18:01:14 2020	(r367687)
@@ -25,6 +25,6 @@ MAN=	pkg.7
 
 CFLAGS+=-I${SRCTOP}/contrib/libucl/include
 .PATH:	${SRCTOP}/contrib/libucl/include
-LIBADD=	archive fetch ucl sbuf crypto ssl
+LIBADD=	archive fetch ucl sbuf crypto ssl util
 
 .include <bsd.prog.mk>

Modified: head/usr.sbin/pkg/pkg.c
==============================================================================
--- head/usr.sbin/pkg/pkg.c	Sat Nov 14 17:57:50 2020	(r367686)
+++ head/usr.sbin/pkg/pkg.c	Sat Nov 14 18:01:14 2020	(r367687)
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
 #include <errno.h>
 #include <fcntl.h>
 #include <fetch.h>
+#include <libutil.h>
 #include <paths.h>
 #include <stdbool.h>
 #include <stdlib.h>
@@ -1037,6 +1038,7 @@ main(int argc, char *argv[])
 {
 	char pkgpath[MAXPATHLEN];
 	const char *pkgarg;
+	size_t len;
 	int i;
 	bool bootstrap_only, force, yes;
 
@@ -1045,8 +1047,11 @@ main(int argc, char *argv[])
 	pkgarg = NULL;
 	yes = false;
 
-	snprintf(pkgpath, MAXPATHLEN, "%s/sbin/pkg",
-	    getenv("LOCALBASE") ? getenv("LOCALBASE") : _PATH_LOCALBASE);
+	if ((len = getlocalbase(pkgpath, MAXPATHLEN)) != 0) {
+		fprintf(stderr, "Cannot determine local path\n");
+		exit(EXIT_FAILURE);
+	}
+	strlcat(pkgpath, "/sbin/pkg", MAXPATHLEN - len);
 
 	if (argc > 1 && strcmp(argv[1], "bootstrap") == 0) {
 		bootstrap_only = true;


More information about the svn-src-all mailing list