summaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2011-01-31 11:50:09 +0100
committerKevin Wolf <kwolf@redhat.com>2011-01-31 11:57:44 +0100
commit5645b0f4f2185437d8df03810ce9c102cc4c90db (patch)
tree92ce2868dc2f181bf65779832822178af5aa4320 /vl.c
parent4e5d9b578f5d5ffbf7ef7e26abed23a0548a853a (diff)
downloadqemu-5645b0f4f2185437d8df03810ce9c102cc4c90db.tar.gz
blockdev: Replace drive_add()'s fmt, ... by optstr parameter
Let the callers build the optstr. Only one wants to. All the others become simpler, because they don't have to worry about escaping '%'. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/vl.c b/vl.c
index 99f5bfef2f..f86724f83a 100644
--- a/vl.c
+++ b/vl.c
@@ -621,7 +621,6 @@ static int bt_parse(const char *opt)
/***********************************************************/
/* QEMU Block devices */
-/* Any % in the following strings must be escaped as %% */
#define HD_OPTS "media=disk"
#define CDROM_OPTS "media=cdrom"
#define FD_OPTS ""
@@ -2050,17 +2049,21 @@ int main(int argc, char **argv, char **envp)
initrd_filename = optarg;
break;
case QEMU_OPTION_hda:
- if (cyls == 0)
- hda_opts = drive_add(IF_DEFAULT, 0, optarg, HD_OPTS);
- else
- hda_opts = drive_add(IF_DEFAULT, 0, optarg, HD_OPTS
- ",cyls=%d,heads=%d,secs=%d%s",
- cyls, heads, secs,
- translation == BIOS_ATA_TRANSLATION_LBA ?
+ {
+ char buf[256];
+ if (cyls == 0)
+ snprintf(buf, sizeof(buf), "%s", HD_OPTS);
+ else
+ snprintf(buf, sizeof(buf),
+ "%s,cyls=%d,heads=%d,secs=%d%s",
+ HD_OPTS , cyls, heads, secs,
+ translation == BIOS_ATA_TRANSLATION_LBA ?
",trans=lba" :
- translation == BIOS_ATA_TRANSLATION_NONE ?
+ translation == BIOS_ATA_TRANSLATION_NONE ?
",trans=none" : "");
- break;
+ drive_add(IF_DEFAULT, 0, optarg, buf);
+ break;
+ }
case QEMU_OPTION_hdb:
case QEMU_OPTION_hdc:
case QEMU_OPTION_hdd: