In (c)lzip definition of mkdir takes 2 arguments while in windows it takes 1, 
which causes compilation error.   ```  gcc  -Wall -W -O2 
-DPROGVERSION=\"1.14\" -c -o main.o main.c  main.c: In function 
'make_dirs':  main.c:527:16: error: too many arguments to function 
'mkdir'    527 |       else if( mkdir( partial, mode ) != 0 && 
errno != EEXIST )        |                ^~~~~  ```   It can be solved by 
defining macro in "windows" section.   ```  diff clzip-1.14/main.c 
clzip-1.14-mkdir/main.c  43a44  > #define mkdir(x,y) mkdir(x)  ```   Same 
for lzip.   ```  diff lzip-1.24/main.cc lzip-1.24-mkdir/main.cc  46a47  > 
#define mkdir(x,y) mkdir(x)  ```   Same for plzip but didn't check it yet.  
 FWIW I have built clzip with that patch to prove a concept and to share it. 
It's available here:  www.mediafire.com 
www.mediafire.com/file/l7r8cvi2gbx9f9s/clzip-1.14_w32-1.zip  .  It's no 
lzip as it would require static link of whole libstdc++ which is unnecessary as 
C version is just as fast.  Speaking of speed decoder seems to be faster when 
compiled with `-O3' optimization. Also decoder is faster compiled with GCC 
and encoder compiled with Clang.

Reply via email to