+ size_t new_length;
+ assert(-1 <= compression_level && compression_level <= 9);
+
+ /*
+ * If the compression level is 0 or if the entropy
+ * is high, the "compressing" data will take more
+ * room then the uncompressed data due to the zlib
+ * overhead.
+ *
+ * XXX: The overhead isn't constant and 30 bytes
+ * may not be enough for everybody
+ */
+ new_length = *buffer_length + 30;