From: Erwan Velu Date: Tue, 11 May 2010 20:52:27 +0000 (+0200) Subject: VPD: Fixing base_address X-Git-Tag: syslinux-4.00-pre46~1^2~12^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aa1e064d872ea0b14bbbf67277b069b0a2f30d91;p=platform%2Fupstream%2Fsyslinux.git VPD: Fixing base_address This commit now save properly VPD's address. --- diff --git a/com32/gplinclude/vpd/vpd.h b/com32/gplinclude/vpd/vpd.h index f1dcec6..bff77bd 100644 --- a/com32/gplinclude/vpd/vpd.h +++ b/com32/gplinclude/vpd/vpd.h @@ -25,7 +25,7 @@ typedef struct { char bios_release_date[9]; char default_flash_filename[13]; char bios_version[255]; - char base_address[6]; + char base_address[16]; bool filled; } s_vpd; diff --git a/com32/gpllib/vpd/vpd.c b/com32/gpllib/vpd/vpd.c index fd468e4..6507f0d 100644 --- a/com32/gpllib/vpd/vpd.c +++ b/com32/gpllib/vpd/vpd.c @@ -64,7 +64,7 @@ int vpd_decode(s_vpd * vpd) for (q = p; q < p + 0x10000; q += 4) { memcpy(buf, q, 5); if (memcmp(buf, "\252\125VPD", 5) == 0) { - snprintf(&vpd->base_address, 5, "%X", q); + snprintf(vpd->base_address, sizeof(vpd->base_address), "%p", q); if (q[5] < 0x30) return -ENOVPDTABLE; diff --git a/com32/hdt/hdt-cli-vpd.c b/com32/hdt/hdt-cli-vpd.c index 4974720..c2f1c4e 100644 --- a/com32/hdt/hdt-cli-vpd.c +++ b/com32/hdt/hdt-cli-vpd.c @@ -43,7 +43,7 @@ void main_show_vpd(int argc __unused, char **argv __unused, return; } - more_printf("VPD present at address : 0x%s\n", hardware->vpd.base_address); + more_printf("VPD present at address : %s\n", hardware->vpd.base_address); if (strlen(hardware->vpd.bios_build_id) > 0) more_printf("Bios Build ID : %s\n", hardware->vpd.bios_build_id);