Thread overview
std.zlib and other tools
Mar 02, 2011
Jesse Phillips
Mar 03, 2011
Johannes Pfau
Mar 03, 2011
Jesse Phillips
March 02, 2011
I'm just wondering if anyone else has an issue with using std.zlib with other programs such as gzip and 7-zip? zlib creates and loads gz files right?

The library works perfectly with itself, but I can't read or write compressed files from other popular programs.

mport std.stdio;
import std.file;
import std.zlib;
auto searchFolder = r".";

void main() {
   foreach(string de; dirEntries(searchFolder, SpanMode.shallow)) {
      if(de[$-"gz".length..$] != "gz") {
         auto data = read(de);
         std.file.write(de ~ ".gz", compress(data));
      }
   }
   foreach(string de; dirEntries(searchFolder, SpanMode.shallow)) {
      if(de[$-"gz".length..$] == "gz") {
         auto data = read(de);
         std.file.write(de ~ ".txt", uncompress(data));
      }
   }
}
March 03, 2011
Jesse Phillips wrote:
>I'm just wondering if anyone else has an issue with using std.zlib with other programs such as gzip and 7-zip? zlib creates and loads gz files right?
>
>The library works perfectly with itself, but I can't read or write compressed files from other popular programs.
>
>mport std.stdio;
>import std.file;
>import std.zlib;
>auto searchFolder = r".";
>
>void main() {
>   foreach(string de; dirEntries(searchFolder, SpanMode.shallow)) {
>      if(de[$-"gz".length..$] != "gz") {
>         auto data = read(de);
>         std.file.write(de ~ ".gz", compress(data));
>      }
>   }
>   foreach(string de; dirEntries(searchFolder, SpanMode.shallow)) {
>      if(de[$-"gz".length..$] == "gz") {
>         auto data = read(de);
>         std.file.write(de ~ ".txt", uncompress(data));
>      }
>   }
>}
I think this could be the reason: http://zlib.net/zlib_faq.html#faq18
-- 
Johannes Pfau


March 03, 2011
I must have been overwhelmed when I landed on that page last time.

Seems the etc.c.zlib bindings have the needed functions, just don't have it wrapped in the standard library.

Thanks.