summaryrefslogtreecommitdiff
path: root/block.c
diff options
context:
space:
mode:
Diffstat (limited to 'block.c')
-rw-r--r--block.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/block.c b/block.c
index cbe07a9d8f..ce1c388b97 100644
--- a/block.c
+++ b/block.c
@@ -548,6 +548,9 @@ static int raw_open(BlockDriverState *bs, const char *filename)
BDRVRawState *s = bs->opaque;
int fd;
int64_t size;
+#ifdef _BSD
+ struct stat sb;
+#endif
fd = open(filename, O_RDWR | O_BINARY | O_LARGEFILE);
if (fd < 0) {
@@ -557,13 +560,11 @@ static int raw_open(BlockDriverState *bs, const char *filename)
bs->read_only = 1;
}
#ifdef _BSD
- {
- struct stat sb;
- if (!fstat(fd, &sb) && (S_IFCHR & sb.st_mode)) {
+ if (!fstat(fd, &sb) && (S_IFCHR & sb.st_mode)) {
#ifdef DIOCGMEDIASIZE
- if (ioctl(fd, DIOCGMEDIASIZE, (off_t *)&size))
+ if (ioctl(fd, DIOCGMEDIASIZE, (off_t *)&size))
#endif
- size = lseek(fd, 0LL, SEEK_END);
+ size = lseek(fd, 0LL, SEEK_END);
} else
#endif
{