Module Name:    src
Committed By:   rillig
Date:           Sun Oct  3 18:53:37 UTC 2021

Modified Files:
        src/usr.bin/indent: args.c

Log Message:
indent: reduce duplicate code in load_profiles

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/usr.bin/indent/args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/indent/args.c
diff -u src/usr.bin/indent/args.c:1.41 src/usr.bin/indent/args.c:1.42
--- src/usr.bin/indent/args.c:1.41	Sun Oct  3 18:44:51 2021
+++ src/usr.bin/indent/args.c	Sun Oct  3 18:53:37 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: args.c,v 1.41 2021/10/03 18:44:51 rillig Exp $	*/
+/*	$NetBSD: args.c,v 1.42 2021/10/03 18:53:37 rillig Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)args.c	8.1 (
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: args.c,v 1.41 2021/10/03 18:44:51 rillig Exp $");
+__RCSID("$NetBSD: args.c,v 1.42 2021/10/03 18:53:37 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/args.c 336318 2018-07-15 21:04:21Z pstef $");
 #endif
@@ -140,12 +140,17 @@ static const struct pro {
 };
 
 static void
-load_profile(FILE *f)
+load_profile(const char *fname)
 {
+    FILE *f;
     int comment_index, i;
     char *p;
     char buf[BUFSIZ];
 
+    if ((f = fopen(fname, "r")) == NULL)
+	return;
+    option_source = fname;
+
     for (;;) {
 	p = buf;
 	comment_index = 0;
@@ -168,30 +173,25 @@ load_profile(FILE *f)
 	    if (opt.verbose)
 		printf("profile: %s\n", buf);
 	    set_option(buf);
-	} else if (i == EOF)
+	} else if (i == EOF) {
+	    (void)fclose(f);
 	    return;
+	}
     }
 }
 
 void
 load_profiles(const char *profile_name)
 {
-    FILE *f;
     char fname[PATH_MAX];
-    static char prof[] = ".indent.pro";
 
-    if (profile_name == NULL)
-	snprintf(fname, sizeof(fname), "%s/%s", getenv("HOME"), prof);
-    else
-	snprintf(fname, sizeof(fname), "%s", profile_name);
-    if ((f = fopen(option_source = fname, "r")) != NULL) {
-	load_profile(f);
-	(void)fclose(f);
-    }
-    if ((f = fopen(option_source = prof, "r")) != NULL) {
-	load_profile(f);
-	(void)fclose(f);
+    if (profile_name != NULL)
+	load_profile(profile_name);
+    else {
+	snprintf(fname, sizeof(fname), "%s/.indent.pro", getenv("HOME"));
+	load_profile(fname);
     }
+    load_profile(".indent.pro");
     option_source = "Command line";
 }
 

Reply via email to