aboutsummaryrefslogtreecommitdiff
path: root/block.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2012-06-13 10:11:48 +0200
committerKevin Wolf <kwolf@redhat.com>2012-06-15 14:03:43 +0200
commitf8d6bba1c1f56217d9ee71b7aee5f94f46c8f148 (patch)
tree55cfcd017b9a4bd29ddd6c79383dbb7f15393c4b /block.c
parentf085800e245836fed27fddb3b624a29326637657 (diff)
downloadqemu-f8d6bba1c1f56217d9ee71b7aee5f94f46c8f148.zip
qemu-f8d6bba1c1f56217d9ee71b7aee5f94f46c8f148.tar.gz
qemu-f8d6bba1c1f56217d9ee71b7aee5f94f46c8f148.tar.bz2
block: Replace bdrv_get_format() by bdrv_get_format_name()
So callers don't need to know anything about maximum name length. Returning a pointer is safe, because the name string lives as long as the block driver it names, and block drivers don't die. Requested by Peter Maydell. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r--block.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/block.c b/block.c
index 48528fd..0acdcac 100644
--- a/block.c
+++ b/block.c
@@ -1035,7 +1035,8 @@ void bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top)
* swapping bs_new and bs_top contents. */
tmp.backing_hd = bs_new;
pstrcpy(tmp.backing_file, sizeof(tmp.backing_file), bs_top->filename);
- bdrv_get_format(bs_top, tmp.backing_format, sizeof(tmp.backing_format));
+ pstrcpy(tmp.backing_format, sizeof(tmp.backing_format),
+ bs_top->drv ? bs_top->drv->format_name : "");
/* swap contents of the fixed new bs and the current top */
*bs_new = *bs_top;
@@ -2428,13 +2429,9 @@ int bdrv_set_key(BlockDriverState *bs, const char *key)
return ret;
}
-void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size)
+const char *bdrv_get_format_name(BlockDriverState *bs)
{
- if (!bs->drv) {
- buf[0] = '\0';
- } else {
- pstrcpy(buf, buf_size, bs->drv->format_name);
- }
+ return bs->drv ? bs->drv->format_name : NULL;
}
void bdrv_iterate_format(void (*it)(void *opaque, const char *name),