mirror of
https://git.freebsd.org/ports.git
synced 2025-05-25 15:36:35 -04:00
PR: ports/83719 Submitted by: Stefan Sperling <stsp@stsp.in-berlin.de> Approved by: Sylvio Cesar <sylvioc@gmail.com> (maintainer)
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
--- eject.c.orig Tue Jul 19 13:43:37 2005
|
|
+++ eject.c Tue Jul 19 14:14:24 2005
|
|
@@ -122,7 +122,7 @@
|
|
}
|
|
|
|
/*
|
|
- * check device is exists.
|
|
+ * check whether device exists.
|
|
*/
|
|
|
|
int
|
|
@@ -133,8 +133,14 @@
|
|
int sts;
|
|
struct stat sb;
|
|
|
|
- if (asprintf(device, "/dev/%sc", name) == -1)
|
|
- return sts;
|
|
+ if (strncmp("/dev/", name, strlen("/dev/")) == 0) {
|
|
+ if (asprintf(device, "%s", name) == -1)
|
|
+ return sts;
|
|
+ }
|
|
+ else {
|
|
+ if (asprintf(device, "/dev/%s", name) == -1)
|
|
+ return sts;
|
|
+ }
|
|
if (vflag || nflag) {
|
|
printf("%s: using device %s\n", program, device);
|
|
}
|
|
@@ -174,11 +180,16 @@
|
|
/* get proper mount information into the list */
|
|
len = strlen(name);
|
|
for (n = 0; n < mnts; n++) {
|
|
- p = rindex(mntbuf[n].f_mntfromname, '/');
|
|
- if (p == NULL) {
|
|
- continue;
|
|
+ if (strncmp("/dev/", name, strlen("/dev/")) == 0)
|
|
+ p = mntbuf[n].f_mntfromname;
|
|
+ else {
|
|
+ p = rindex(mntbuf[n].f_mntfromname, '/');
|
|
+ if (p == NULL)
|
|
+ continue;
|
|
+ ++p;
|
|
}
|
|
- for (i = 0, ++p, q = name; *p != '\0' && *q != '\0'; ++i, ++p, ++q) {
|
|
+
|
|
+ for (i = 0, p, q = name; *p != '\0' && *q != '\0'; ++i, ++p, ++q) {
|
|
if (*p != *q) {
|
|
break;
|
|
}
|