From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57617) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TvTO4-0002GP-NJ for qemu-devel@nongnu.org; Wed, 16 Jan 2013 08:50:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TvTO3-0007Kk-Jx for qemu-devel@nongnu.org; Wed, 16 Jan 2013 08:50:40 -0500 Received: from oxygen.pond.sub.org ([2a01:4f8:121:10e4::3]:41533) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TvTO3-0007KW-DX for qemu-devel@nongnu.org; Wed, 16 Jan 2013 08:50:39 -0500 From: Markus Armbruster Date: Wed, 16 Jan 2013 14:50:24 +0100 Message-Id: <1358344229-18006-4-git-send-email-armbru@redhat.com> In-Reply-To: <1358344229-18006-1-git-send-email-armbru@redhat.com> References: <1358344229-18006-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH 3/8] fw_cfg: New fw_cfg_add_string() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: blauwirbel@gmail.com, aliguori@us.ibm.com, gleb@redhat.com Signed-off-by: Markus Armbruster --- hw/fw_cfg.c | 7 +++++++ hw/fw_cfg.h | 1 + 2 files changed, 8 insertions(+) diff --git a/hw/fw_cfg.c b/hw/fw_cfg.c index 0361f68..3d6dd5f 100644 --- a/hw/fw_cfg.c +++ b/hw/fw_cfg.c @@ -385,6 +385,13 @@ void fw_cfg_add_bytes(FWCfgState *s, uint16_t key, uint8_t *data, uint32_t len) s->entries[arch][key].len = len; } +void fw_cfg_add_string(FWCfgState *s, uint16_t key, const char *value) +{ + size_t sz = strlen(value) + 1; + + return fw_cfg_add_bytes(s, key, (uint8_t *)g_memdup(value, sz), sz); +} + void fw_cfg_add_i16(FWCfgState *s, uint16_t key, uint16_t value) { uint16_t *copy; diff --git a/hw/fw_cfg.h b/hw/fw_cfg.h index 7d32f28..c2c57cd 100644 --- a/hw/fw_cfg.h +++ b/hw/fw_cfg.h @@ -55,6 +55,7 @@ typedef void (*FWCfgCallback)(void *opaque, uint8_t *data); typedef struct FWCfgState FWCfgState; void fw_cfg_add_bytes(FWCfgState *s, uint16_t key, uint8_t *data, uint32_t len); +void fw_cfg_add_string(FWCfgState *s, uint16_t key, const char *value); void fw_cfg_add_i16(FWCfgState *s, uint16_t key, uint16_t value); void fw_cfg_add_i32(FWCfgState *s, uint16_t key, uint32_t value); void fw_cfg_add_i64(FWCfgState *s, uint16_t key, uint64_t value); -- 1.7.11.7