}
while ((d = readdir (dir)) != NULL) {
- if (strncmp (d->d_name, "sd", 2) == 0) {
+ if (strncmp (d->d_name, "sd", 2) == 0 ||
+ strncmp (d->d_name, "hd", 2) == 0) {
snprintf (buf, sizeof buf, "/dev/%s", d->d_name);
if (add_string (&r, &size, &alloc, buf) == -1) {
closedir (dir);
}
while ((d = readdir (dir)) != NULL) {
- if (strncmp (d->d_name, "sd", 2) == 0) {
+ if (strncmp (d->d_name, "sd", 2) == 0 ||
+ strncmp (d->d_name, "hd", 2) == 0) {
strncpy (devname, d->d_name, sizeof devname);
devname[sizeof devname - 1] = '\0';
free (err);
return 0;
}
-
-int
-do_sfdisk (const char *device, int cyls, int heads, int sectors,
- char * const* const lines)
-{
- FILE *fp;
- char buf[256];
- int i;
-
- IS_DEVICE (device, -1);
-
- /* Safe because of IS_DEVICE above. */
- strcpy (buf, "/sbin/sfdisk");
- if (cyls)
- sprintf (buf + strlen (buf), " -C %d", cyls);
- if (heads)
- sprintf (buf + strlen (buf), " -H %d", heads);
- if (sectors)
- sprintf (buf + strlen (buf), " -S %d", sectors);
- sprintf (buf + strlen (buf), " %s", device);
-
- fp = popen (buf, "w");
- if (fp == NULL) {
- reply_with_perror (buf);
- return -1;
- }
-
- for (i = 0; lines[i] != NULL; ++i) {
- if (fprintf (fp, "%s\n", lines[i]) < 0) {
- reply_with_perror (buf);
- fclose (fp);
- return -1;
- }
- }
-
- if (fclose (fp) == EOF) {
- reply_with_perror (buf);
- fclose (fp);
- return -1;
- }
-
- return 0;
-}