View | Details | Raw Unified | Return to bug 83719 | Differences between
and this patch

Collapse All | Expand All

(-)eject.c (-7 / +18 lines)
Lines 122-128 Link Here
122
}
122
}
123
123
124
/*
124
/*
125
 *  check device is exists.
125
 *  check whether device exists.
126
 */
126
 */
127
127
128
int
128
int
Lines 133-140 Link Here
133
    int sts;
133
    int sts;
134
    struct stat sb;
134
    struct stat sb;
135
135
136
    if (asprintf(device, "/dev/%sc", name) == -1)
136
    if (strncmp("/dev/", name, strlen("/dev/")) == 0) {
137
	return sts;
137
	    if (asprintf(device, "%s", name) == -1)
138
		return sts;
139
    }
140
    else { 
141
	    if (asprintf(device, "/dev/%s", name) == -1)
142
		return sts;
143
    }
138
    if (vflag || nflag) {
144
    if (vflag || nflag) {
139
	printf("%s: using device %s\n", program, device);
145
	printf("%s: using device %s\n", program, device);
140
    }
146
    }
Lines 174-184 Link Here
174
    /* get proper mount information into the list */
180
    /* get proper mount information into the list */
175
    len = strlen(name);
181
    len = strlen(name);
176
    for (n = 0; n < mnts; n++) {
182
    for (n = 0; n < mnts; n++) {
177
	p = rindex(mntbuf[n].f_mntfromname, '/');
183
	if (strncmp("/dev/", name, strlen("/dev/")) == 0) 
178
	if (p == NULL) {
184
		p = mntbuf[n].f_mntfromname;
179
	    continue;
185
	else {
186
		p = rindex(mntbuf[n].f_mntfromname, '/');
187
		if (p == NULL)
188
		    continue;
189
		++p;
180
	}
190
	}
181
	for (i = 0, ++p, q = name; *p != '\0' && *q != '\0'; ++i, ++p, ++q) {
191
192
	for (i = 0, p, q = name; *p != '\0' && *q != '\0'; ++i, ++p, ++q) {
182
	    if (*p != *q) {
193
	    if (*p != *q) {
183
		break;
194
		break;
184
	    }
195
	    }

Return to bug 83719