git: c192228b7398 - main - gcore: split code to open core file into helper

Konstantin Belousov kib at FreeBSD.org
Mon May 3 16:20:48 UTC 2021


The branch main has been updated by kib:

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

commit c192228b7398df72e472128605338555e5aa2db9
Author:     Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-04-24 10:31:58 +0000
Commit:     Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-05-03 16:18:26 +0000

    gcore: split code to open core file into helper
    
    Reviewed by:    markj
    Tested by:      pho
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D29955
---
 usr.bin/gcore/gcore.c | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/usr.bin/gcore/gcore.c b/usr.bin/gcore/gcore.c
index 8681b8484d81..cbbfea82085b 100644
--- a/usr.bin/gcore/gcore.c
+++ b/usr.bin/gcore/gcore.c
@@ -78,12 +78,27 @@ static pid_t pid;
 
 SET_DECLARE(dumpset, struct dumpers);
 
+static int
+open_corefile(char *corefile)
+{
+	char fname[MAXPATHLEN];
+
+	if (corefile == NULL) {
+		(void)snprintf(fname, sizeof(fname), "core.%d", pid);
+		corefile = fname;
+	}
+	fd = open(corefile, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
+	if (fd < 0)
+		err(1, "%s", corefile);
+	return (fd);
+}
+
 int
 main(int argc, char *argv[])
 {
 	int ch, efd, fd, name[4];
 	char *binfile, *corefile;
-	char passpath[MAXPATHLEN], fname[MAXPATHLEN];
+	char passpath[MAXPATHLEN];
 	struct dumpers **d, *dumper;
 	size_t len;
 
@@ -138,13 +153,7 @@ main(int argc, char *argv[])
 	}
 	if (dumper == NULL)
 		errx(1, "Invalid executable file");
-	if (corefile == NULL) {
-		(void)snprintf(fname, sizeof(fname), "core.%d", pid);
-		corefile = fname;
-	}
-	fd = open(corefile, O_RDWR|O_CREAT|O_TRUNC, DEFFILEMODE);
-	if (fd < 0)
-		err(1, "%s", corefile);
+	fd = open_corefile(corefile);
 
 	dumper->dump(efd, fd, pid);
 	(void)close(fd);


More information about the dev-commits-src-all mailing list