# HG changeset patch
# User Emmanuel Ackaouy <ack@xxxxxxxxxxxxx>
# Date 1169763412 0
# Node ID 9d1d9877131de3aec3d56b277c03075d7f63f3a1
# Parent d42878949f63a3614b22c388cb82862b7d3c264e
Support transparant gunzipping in the readnotes utility.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxx>
---
tools/xcutils/readnotes.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff -r d42878949f63 -r 9d1d9877131d tools/xcutils/readnotes.c
--- a/tools/xcutils/readnotes.c Thu Jan 25 22:16:52 2007 +0000
+++ b/tools/xcutils/readnotes.c Thu Jan 25 22:16:52 2007 +0000
@@ -11,6 +11,7 @@
#include <sys/mman.h>
#include <xg_private.h>
+#include <xc_dom.h> /* gunzip bits */
#include <xen/libelf.h>
@@ -33,8 +34,8 @@ int main(int argc, char **argv)
int main(int argc, char **argv)
{
const char *f;
- int fd,h,size,count;
- void *image;
+ int fd,h,size,usize,count;
+ void *image,*tmp;
struct stat st;
struct elf_binary elf;
const elf_shdr *shdr;
@@ -67,6 +68,15 @@ int main(int argc, char **argv)
return 1;
}
size = st.st_size;
+
+ usize = xc_dom_check_gzip(image, st.st_size);
+ if (usize)
+ {
+ tmp = malloc(size);
+ xc_dom_do_gunzip(image, st.st_size, tmp, size);
+ image = tmp;
+ size = usize;
+ }
if (0 != elf_init(&elf, image, size))
{
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|