X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fdevsparts.c;h=c3b9756cb04767cec169d45c3a400fe96aca6040;hb=8601bbda56cdb2b8491b6e2054596ec9599c38f1;hp=b89682c9548dc8573feab00159c78d7f65e62151;hpb=98bc29fda446f5c667f4bc799161b3446bfc2ca1;p=libguestfs.git diff --git a/daemon/devsparts.c b/daemon/devsparts.c index b89682c..c3b9756 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,8 +48,11 @@ foreach_block_device (block_dev_func_t func) return NULL; } - errno = 0; - while ((d = readdir (dir)) != NULL) { + while(1) { + errno = 0; + struct dirent *d = readdir(dir); + if(NULL == d) break; + if (strncmp (d->d_name, "sd", 2) == 0 || strncmp (d->d_name, "hd", 2) == 0 || strncmp (d->d_name, "vd", 2) == 0 || @@ -191,7 +193,7 @@ do_mkfs (char *fstype, char *device) char *err; int r; - IS_DEVICE (device, -1); + RESOLVE_DEVICE (device, return -1); r = command (NULL, &err, "/sbin/mkfs", "-t", fstype, device, NULL); if (r == -1) {