Merge pull request #900 from Blewzman/FixAggregateExceptionGetBaseException
[mono.git] / mcs / tools / mkbundle / template_z.c
index 053cdba568392deb836ad157e6c887fa5e789df9..f40641c21f965af39738ddd53fad6067e24f632e 100644 (file)
@@ -1,6 +1,6 @@
 static MonoBundledAssembly **bundled;
-int mono_main (int argc, char* argv[]);
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <zlib.h>
@@ -14,7 +14,9 @@ my_inflate (const Byte *compr, uLong compr_len, Byte *uncompr, uLong uncompr_len
        memset (&stream, 0, sizeof (z_stream));
        stream.next_in = (Byte *) compr;
        stream.avail_in = (uInt) compr_len;
-       err = inflateInit (&stream);
+
+       // http://www.zlib.net/manual.html
+       err = inflateInit2 (&stream, 16+MAX_WBITS);
        if (err != Z_OK)
                return 1;
 
@@ -39,24 +41,13 @@ my_inflate (const Byte *compr, uLong compr_len, Byte *uncompr, uLong uncompr_len
        return 0;
 }
 
-int main (int argc, char* argv[])
+void mono_mkbundle_init ()
 {
-       char **newargs = (char **) malloc (sizeof (char *) * (argc + 2));
-       int i;
        CompressedAssembly **ptr;
        MonoBundledAssembly **bundled_ptr;
        Bytef *buffer;
        int nbundles;
 
-       newargs [0] = argv [0];
-       newargs [1] = image_name;
-       for (i = 1; i < argc; i++)
-               newargs [i+1] = argv [i];
-       newargs [++i] = NULL;
-
-       if (config_dir != NULL && getenv ("MONO_CFG_DIR") == NULL)
-               mono_set_dirs (getenv ("MONO_PATH"), config_dir);
-
        install_dll_config_files ();
 
        ptr = (CompressedAssembly **) compressed;
@@ -78,7 +69,7 @@ int main (int argc, char* argv[])
                buffer = (Bytef *) malloc (real_size);
                result = my_inflate ((*ptr)->assembly.data, zsize, buffer, real_size);
                if (result != 0) {
-                       fprintf (stderr, "Error %d decompresing data for %s\n", result, (*ptr)->assembly.name);
+                       fprintf (stderr, "mkbundle: Error %d decompressing data for %s\n", result, (*ptr)->assembly.name);
                        exit (1);
                }
                (*ptr)->assembly.data = buffer;
@@ -91,5 +82,4 @@ int main (int argc, char* argv[])
        }
        *bundled_ptr = NULL;
        mono_register_bundled_assemblies((const MonoBundledAssembly **) bundled);
-       return mono_main (argc+1, newargs);
 }