Merge pull request #272 from eustas/master

Upgrade license to MIT.
diff --git a/enc/encode.cc b/enc/encode.cc
index d4e773f..3d7038d 100644
--- a/enc/encode.cc
+++ b/enc/encode.cc
@@ -531,20 +531,24 @@
   if (input_size > (1 << 24) || input_size + 6 > *encoded_size) {
     return false;
   }
+  uint64_t hdr_buffer_data[2];
+  uint8_t* hdr_buffer = reinterpret_cast<uint8_t*>(&hdr_buffer_data[0]);
   int storage_ix = last_byte_bits_;
-  encoded_buffer[0] = last_byte_;
-  WriteBits(1, 0, &storage_ix, encoded_buffer);
-  WriteBits(2, 3, &storage_ix, encoded_buffer);
-  WriteBits(1, 0, &storage_ix, encoded_buffer);
+  hdr_buffer[0] = last_byte_;
+  WriteBits(1, 0, &storage_ix, hdr_buffer);
+  WriteBits(2, 3, &storage_ix, hdr_buffer);
+  WriteBits(1, 0, &storage_ix, hdr_buffer);
   if (input_size == 0) {
-    WriteBits(2, 0, &storage_ix, encoded_buffer);
+    WriteBits(2, 0, &storage_ix, hdr_buffer);
     *encoded_size = (storage_ix + 7) >> 3;
+    memcpy(encoded_buffer, hdr_buffer, *encoded_size);
   } else {
     int nbits = Log2Floor(static_cast<uint32_t>(input_size) - 1) + 1;
     int nbytes = (nbits + 7) / 8;
-    WriteBits(2, nbytes, &storage_ix, encoded_buffer);
-    WriteBits(8 * nbytes, input_size - 1, &storage_ix, encoded_buffer);
+    WriteBits(2, nbytes, &storage_ix, hdr_buffer);
+    WriteBits(8 * nbytes, input_size - 1, &storage_ix, hdr_buffer);
     size_t hdr_size = (storage_ix + 7) >> 3;
+    memcpy(encoded_buffer, hdr_buffer, hdr_size);
     memcpy(&encoded_buffer[hdr_size], input_buffer, input_size);
     *encoded_size = hdr_size + input_size;
   }
diff --git a/python/brotlimodule.cc b/python/brotlimodule.cc
index da4c2eb..8755392 100644
--- a/python/brotlimodule.cc
+++ b/python/brotlimodule.cc
@@ -21,9 +21,9 @@
   }
 
   *mode = (BrotliParams::Mode) PyInt_AsLong(o);
-  if (*mode != BrotliParams::Mode::MODE_GENERIC &&
-      *mode != BrotliParams::Mode::MODE_TEXT &&
-      *mode != BrotliParams::Mode::MODE_FONT) {
+  if (*mode != BrotliParams::MODE_GENERIC &&
+      *mode != BrotliParams::MODE_TEXT &&
+      *mode != BrotliParams::MODE_FONT) {
     PyErr_SetString(BrotliError, "Invalid mode");
     return 0;
   }
@@ -240,9 +240,9 @@
     PyModule_AddObject(m, "error", BrotliError);
   }
 
-  PyModule_AddIntConstant(m, "MODE_GENERIC", (int) BrotliParams::Mode::MODE_GENERIC);
-  PyModule_AddIntConstant(m, "MODE_TEXT", (int) BrotliParams::Mode::MODE_TEXT);
-  PyModule_AddIntConstant(m, "MODE_FONT", (int) BrotliParams::Mode::MODE_FONT);
+  PyModule_AddIntConstant(m, "MODE_GENERIC", (int) BrotliParams::MODE_GENERIC);
+  PyModule_AddIntConstant(m, "MODE_TEXT", (int) BrotliParams::MODE_TEXT);
+  PyModule_AddIntConstant(m, "MODE_FONT", (int) BrotliParams::MODE_FONT);
 
   PyModule_AddStringConstant(m, "__version__", BROTLI_VERSION);
 
diff --git a/setup.py b/setup.py
index bc7a52f..331b165 100644
--- a/setup.py
+++ b/setup.py
@@ -70,12 +70,8 @@
 
         objects = []
         for lang, sources in (("c", c_sources), ("c++", cxx_sources)):
-            if lang == "c++": 
-                if platform.system() == "Darwin":
-                    extra_args.extend(["-stdlib=libc++", "-mmacosx-version-min=10.7"])
-                if self.compiler.compiler_type in ["unix", "cygwin", "mingw32"]:
-                    extra_args.append("-std=c++0x")
-                elif self.compiler.compiler_type == "msvc":
+            if lang == "c++":
+                if self.compiler.compiler_type == "msvc":
                     extra_args.append("/EHsc")
 
             macros = ext.define_macros[:]