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-main
mailing list