diff options
author | 1995-10-27 15:25:41 +0000 | |
---|---|---|
committer | 1995-10-27 15:25:41 +0000 | |
commit | 3bb7c332bff55002fed02271f8fc840b95e58570 (patch) | |
tree | 3fd5575b64674c607ad1cd3495455c9865fa8539 | |
parent | move msgbufmapped out of #ifdef SUN4 (diff) | |
download | wireguard-openbsd-3bb7c332bff55002fed02271f8fc840b95e58570.tar.xz wireguard-openbsd-3bb7c332bff55002fed02271f8fc840b95e58570.zip |
attempt to open name as given incase it is a relative pathname
-rw-r--r-- | sbin/disklabel/disklabel.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sbin/disklabel/disklabel.c b/sbin/disklabel/disklabel.c index 6df09b23881..98845511b14 100644 --- a/sbin/disklabel/disklabel.c +++ b/sbin/disklabel/disklabel.c @@ -233,6 +233,11 @@ main(argc, argv) usage(); dkname = argv[0]; + f = open(dkname, op == READ ? O_RDONLY : O_RDWR); + if (f != -1) { + specname = dkname; + goto ok; + } if (dkname[0] != '/') { (void)sprintf(np, "%sr%s%c", _PATH_DEV, dkname, RAWPARTITION); specname = np; @@ -240,6 +245,7 @@ main(argc, argv) } else specname = dkname; f = open(specname, op == READ ? O_RDONLY : O_RDWR); +ok: if (f < 0 && errno == ENOENT && dkname[0] != '/') { (void)sprintf(specname, "%sr%s", _PATH_DEV, dkname); np = namebuf + strlen(specname) + 1; |