Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 May 2021 16:20:47 GMT
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: c192228b7398 - main - gcore: split code to open core file into helper
Message-ID:  <202105031620.143GKlWv022394@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib:

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

commit c192228b7398df72e472128605338555e5aa2db9
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2021-04-24 10:31:58 +0000
Commit:     Konstantin Belousov <kib@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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202105031620.143GKlWv022394>