X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fdevsparts.c;h=60e7aa8caa8da8b9f6175fd23f51e1ea04aeaed4;hp=b89682c9548dc8573feab00159c78d7f65e62151;hb=a84f1360499309e2d2ecb661adc6917539b5eef4;hpb=98bc29fda446f5c667f4bc799161b3446bfc2ca1 diff --git a/daemon/devsparts.c b/daemon/devsparts.c index b89682c..60e7aa8 100644 --- a/daemon/devsparts.c +++ b/daemon/devsparts.c @@ -40,7 +40,6 @@ foreach_block_device (block_dev_func_t func) int size = 0, alloc = 0; DIR *dir; - struct dirent *d; int err = 0; dir = opendir ("/sys/block"); @@ -49,12 +48,15 @@ foreach_block_device (block_dev_func_t func) return NULL; } - errno = 0; - while ((d = readdir (dir)) != NULL) { - if (strncmp (d->d_name, "sd", 2) == 0 || - strncmp (d->d_name, "hd", 2) == 0 || - strncmp (d->d_name, "vd", 2) == 0 || - strncmp (d->d_name, "sr", 2) == 0) { + while(1) { + errno = 0; + struct dirent *d = readdir(dir); + if(NULL == d) break; + + if (STREQLEN (d->d_name, "sd", 2) || + STREQLEN (d->d_name, "hd", 2) || + STREQLEN (d->d_name, "vd", 2) || + STREQLEN (d->d_name, "sr", 2)) { char dev_path[256]; snprintf (dev_path, sizeof dev_path, "/dev/%s", d->d_name); @@ -151,7 +153,7 @@ add_partitions(const char *device, errno = 0; struct dirent *d; while ((d = readdir (dir)) != NULL) { - if (strncmp (d->d_name, device, strlen (device)) == 0) { + if (STREQLEN (d->d_name, device, strlen (device))) { char part[256]; snprintf (part, sizeof part, "/dev/%s", d->d_name); @@ -184,22 +186,3 @@ do_list_partitions (void) { return foreach_block_device(add_partitions); } - -int -do_mkfs (char *fstype, char *device) -{ - char *err; - int r; - - IS_DEVICE (device, -1); - - r = command (NULL, &err, "/sbin/mkfs", "-t", fstype, device, NULL); - if (r == -1) { - reply_with_error ("mkfs: %s", err); - free (err); - return -1; - } - - free (err); - return 0; -}