From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53583) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SeigQ-0006NP-J3 for qemu-devel@nongnu.org; Wed, 13 Jun 2012 04:12:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SeigF-0000c1-NL for qemu-devel@nongnu.org; Wed, 13 Jun 2012 04:12:06 -0400 Received: from oxygen.pond.sub.org ([78.46.104.156]:36384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SeigF-0000bM-Eg for qemu-devel@nongnu.org; Wed, 13 Jun 2012 04:11:55 -0400 From: Markus Armbruster Date: Wed, 13 Jun 2012 10:11:48 +0200 Message-Id: <1339575110-18207-2-git-send-email-armbru@redhat.com> In-Reply-To: <1339575110-18207-1-git-send-email-armbru@redhat.com> References: <1339575110-18207-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH v3 1/3] block: Replace bdrv_get_format() by bdrv_get_format_name() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, peter.maydell@linaro.org, stefano.stabellini@eu.citrix.com 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 --- block.c | 11 ++++------- block.h | 2 +- qemu-img.c | 5 ++--- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/block.c b/block.c index 7547051..7c04948 100644 --- a/block.c +++ b/block.c @@ -1032,7 +1032,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; @@ -2413,13 +2414,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), diff --git a/block.h b/block.h index 7408acc..3b28276 100644 --- a/block.h +++ b/block.h @@ -284,7 +284,7 @@ int bdrv_is_inserted(BlockDriverState *bs); int bdrv_media_changed(BlockDriverState *bs); void bdrv_lock_medium(BlockDriverState *bs, bool locked); void bdrv_eject(BlockDriverState *bs, bool eject_flag); -void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size); +const char *bdrv_get_format_name(BlockDriverState *bs); BlockDriverState *bdrv_find(const char *name); BlockDriverState *bdrv_next(BlockDriverState *bs); void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs), diff --git a/qemu-img.c b/qemu-img.c index c8a70ff..fda8a35 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -1078,7 +1078,7 @@ static int img_info(int argc, char **argv) int c; const char *filename, *fmt; BlockDriverState *bs; - char fmt_name[128], size_buf[128], dsize_buf[128]; + char size_buf[128], dsize_buf[128]; uint64_t total_sectors; int64_t allocated_size; char backing_filename[1024]; @@ -1110,7 +1110,6 @@ static int img_info(int argc, char **argv) if (!bs) { return 1; } - bdrv_get_format(bs, fmt_name, sizeof(fmt_name)); bdrv_get_geometry(bs, &total_sectors); get_human_readable_size(size_buf, sizeof(size_buf), total_sectors * 512); allocated_size = bdrv_get_allocated_file_size(bs); @@ -1124,7 +1123,7 @@ static int img_info(int argc, char **argv) "file format: %s\n" "virtual size: %s (%" PRId64 " bytes)\n" "disk size: %s\n", - filename, fmt_name, size_buf, + filename, bdrv_get_format_name(bs), size_buf, (total_sectors * 512), dsize_buf); if (bdrv_is_encrypted(bs)) { -- 1.7.6.5