[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [patch 10/10] Support transparant gunzipping in the readnotes utility.



Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxx>
---
 tools/xcutils/readnotes.c |   14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

Index: build-32-unstable-12621/tools/xcutils/readnotes.c
===================================================================
--- build-32-unstable-12621.orig/tools/xcutils/readnotes.c
+++ build-32-unstable-12621/tools/xcutils/readnotes.c
@@ -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 @@ static void print_numeric_note(const cha
 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;
@@ -68,6 +69,15 @@ int main(int argc, char **argv)
        }
        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))
        {
                fprintf(stderr, "File %s is not an ELF image\n", f);

--

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.