git: 3f2c6f559841 - main - ldconfig: start of cleanup

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Wed, 24 Nov 2021 23:56:19 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=3f2c6f5598410b7233b0acd1c804a0473fa1e9fa

commit 3f2c6f5598410b7233b0acd1c804a0473fa1e9fa
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2021-11-19 03:35:50 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2021-11-24 23:55:03 +0000

    ldconfig: start of cleanup
    
    Use bool.
    Use local variables instead of static.
    Remove non-functional debugging override of hints file path.
    Use explicit exit() instead of return from main.
    Minor style tweaks.
    
    Reviewed by:    emaste
    Tested by:      jbeich
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D33058
---
 sbin/ldconfig/elfhints.c | 19 ++++++++---------
 sbin/ldconfig/ldconfig.c | 55 +++++++++++++++++-------------------------------
 sbin/ldconfig/ldconfig.h |  5 +++--
 3 files changed, 31 insertions(+), 48 deletions(-)

diff --git a/sbin/ldconfig/elfhints.c b/sbin/ldconfig/elfhints.c
index bbedac64b3ff..81236feec5ca 100644
--- a/sbin/ldconfig/elfhints.c
+++ b/sbin/ldconfig/elfhints.c
@@ -48,17 +48,17 @@
 #define MAXDIRS		1024		/* Maximum directories in path */
 #define MAXFILESIZE	(16*1024)	/* Maximum hints file size */
 
-static void	add_dir(const char *, const char *, int);
+static void	add_dir(const char *, const char *, bool);
 static void	read_dirs_from_file(const char *, const char *);
-static void	read_elf_hints(const char *, int);
+static void	read_elf_hints(const char *, bool);
 static void	write_elf_hints(const char *);
 
 static const char	*dirs[MAXDIRS];
 static int		 ndirs;
-int			 insecure;
+bool			 insecure;
 
 static void
-add_dir(const char *hintsfile, const char *name, int trusted)
+add_dir(const char *hintsfile, const char *name, bool trusted)
 {
 	struct stat 	stbuf;
 	int		i;
@@ -186,7 +186,7 @@ read_dirs_from_file(const char *hintsfile, const char *listfile)
 }
 
 static void
-read_elf_hints(const char *hintsfile, int must_exist)
+read_elf_hints(const char *hintsfile, bool must_exist)
 {
 	int	 		 fd;
 	struct stat		 s;
@@ -231,15 +231,14 @@ read_elf_hints(const char *hintsfile, int must_exist)
 }
 
 void
-update_elf_hints(const char *hintsfile, int argc, char **argv, int merge)
+update_elf_hints(const char *hintsfile, int argc, char **argv, bool merge)
 {
-	int	i;
+	struct stat s;
+	int i;
 
 	if (merge)
-		read_elf_hints(hintsfile, 0);
+		read_elf_hints(hintsfile, false);
 	for (i = 0;  i < argc;  i++) {
-		struct stat	s;
-
 		if (stat(argv[i], &s) == -1)
 			warn("warning: %s", argv[i]);
 		else if (S_ISREG(s.st_mode))
diff --git a/sbin/ldconfig/ldconfig.c b/sbin/ldconfig/ldconfig.c
index 389cbb6101b5..3f623d6f38b1 100644
--- a/sbin/ldconfig/ldconfig.c
+++ b/sbin/ldconfig/ldconfig.c
@@ -30,11 +30,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef lint
-static const char rcsid[] =
-  "$FreeBSD$";
-#endif /* not lint */
-
 #include <sys/param.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -46,6 +41,7 @@ static const char rcsid[] =
 #include <err.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -53,34 +49,20 @@ static const char rcsid[] =
 
 #include "ldconfig.h"
 
-#if DEBUG
-/* test */
-#undef _PATH_ELF_HINTS
-#define _PATH_ELF_HINTS		"./ld-elf.so.hints"
-#endif
-
 #define	_PATH_LD32_HINTS	"/var/run/ld32.so.hints"
 #define	_PATH_ELF32_HINTS	"/var/run/ld-elf32.so.hints"
 #define	_PATH_ELFSOFT_HINTS	"/var/run/ld-elf-soft.so.hints"
 
-#undef major
-#undef minor
-
-static int			verbose;
-static int			nostd;
-static int			justread;
-static int			merge;
-static int			rescan;
-static const char		*hints_file;
-
-static void		usage(void);
+static void usage(void);
 
 int
 main(int argc, char **argv)
 {
-	int		c;
-	int		is_32 = 0;
-	int		is_soft = 0;
+	const char *hints_file;
+	int c;
+	bool is_32, is_soft, justread, merge, nostd, rescan, verbose;
+
+	is_32 = is_soft = justread = merge = nostd = rescan = verbose = false;
 
 	while (argc > 1) {
 		if (strcmp(argv[1], "-aout") == 0) {
@@ -89,11 +71,11 @@ main(int argc, char **argv)
 			argc--;
 			argv++;
 		} else if (strcmp(argv[1], "-32") == 0) {
-			is_32 = 1;
+			is_32 = true;
 			argc--;
 			argv++;
 		} else if (strcmp(argv[1], "-soft") == 0) {
-			is_soft = 1;
+			is_soft = true;
 			argc--;
 			argv++;
 		} else {
@@ -108,29 +90,29 @@ main(int argc, char **argv)
 	else
 		hints_file = _PATH_ELF_HINTS;
 	if (argc == 1)
-		rescan = 1;
+		rescan = true;
 	else while((c = getopt(argc, argv, "Rf:imrsv")) != -1) {
 		switch (c) {
 		case 'R':
-			rescan = 1;
+			rescan = true;
 			break;
 		case 'f':
 			hints_file = optarg;
 			break;
 		case 'i':
-			insecure = 1;
+			insecure = true;
 			break;
 		case 'm':
-			merge = 1;
+			merge = true;
 			break;
 		case 'r':
-			justread = 1;
+			justread = true;
 			break;
 		case 's':
-			nostd = 1;
+			nostd = true;
 			break;
 		case 'v':
-			verbose = 1;
+			verbose = true;
 			break;
 		default:
 			usage();
@@ -143,13 +125,14 @@ main(int argc, char **argv)
 	else
 		update_elf_hints(hints_file, argc - optind,
 		    argv + optind, merge || rescan);
-	return 0;
+	exit(0);
 }
 
 static void
 usage(void)
 {
 	fprintf(stderr,
-	"usage: ldconfig [-32] [-elf] [-Rimrsv] [-f hints_file] [directory | file ...]\n");
+	    "usage: ldconfig [-32] [-elf] [-Rimrsv] [-f hints_file] "
+	    "[directory | file ...]\n");
 	exit(1);
 }
diff --git a/sbin/ldconfig/ldconfig.h b/sbin/ldconfig/ldconfig.h
index 9b278255ac07..8aff4e6a5ef2 100644
--- a/sbin/ldconfig/ldconfig.h
+++ b/sbin/ldconfig/ldconfig.h
@@ -32,12 +32,13 @@
 #define LDCONFIG_H 1
 
 #include <sys/cdefs.h>
+#include <stdbool.h>
 
-extern int	insecure;	/* -i flag, needed here for elfhints.c */
+extern bool insecure;		/* -i flag, needed here for elfhints.c */
 
 __BEGIN_DECLS
 void	list_elf_hints(const char *);
-void	update_elf_hints(const char *, int, char **, int);
+void	update_elf_hints(const char *, int, char **, bool);
 __END_DECLS
 
 #endif