aboutsummaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-11-19 03:35:50 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-11-24 23:55:03 +0000
commit3f2c6f5598410b7233b0acd1c804a0473fa1e9fa (patch)
treec7c5e019d24007e90ef84b89378c5b6abe978a58 /sbin
parent83511ce5c473406e0661247e40971be28e218684 (diff)
downloadsrc-3f2c6f5598410b7233b0acd1c804a0473fa1e9fa.tar.gz
src-3f2c6f5598410b7233b0acd1c804a0473fa1e9fa.zip
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
Diffstat (limited to 'sbin')
-rw-r--r--sbin/ldconfig/elfhints.c19
-rw-r--r--sbin/ldconfig/ldconfig.c55
-rw-r--r--sbin/ldconfig/ldconfig.h5
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