demexp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Demexp-dev] building demexp


From: David MENTRE
Subject: Re: [Demexp-dev] building demexp
Date: Wed, 06 Jul 2005 20:01:52 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.4 (gnu/linux)

Hello John,

John Skaller <address@hidden> writes:

> Gerd's rpc builds fine .. but gz doesn't. That C code is broken,
> reported to oliv (admin of the project).
>
> ocamlc.opt -ccopt "-D BZ_PREFIX  " -c c_gz.c
> []
> c_gz.c:203: error: invalid lvalue in assignment

Could you try this patch?

diff -ru gz-0.5.6/c_bz.c gz-0.5.6-dm1/c_bz.c
--- gz-0.5.6/c_bz.c     2002-05-29 10:47:57.000000000 +0200
+++ gz-0.5.6-dm1/c_bz.c 2005-07-06 19:58:32.868034896 +0200
@@ -70,6 +70,9 @@
 #define Bzfile_val(v) ((BZFILE*)(Field((v), 1)))
 #define Bz_eof(v)     (Bool_val(Field((v), 2)))
 
+#define Cfile_lval(v)  ((Field((v), 0)))
+#define Bzfile_lval(v) ((Field((v), 1)))
+
 static void set_eof_flag(value chan)
 {
   Field(chan, 2) = Val_true ;
@@ -141,8 +144,8 @@
   int bzerror ;
   BZ_P(bzReadClose)(&bzerror, Bzfile_val(chan)) ;
   fclose(Cfile_val(chan)) ;
-  Cfile_val(chan) = NULL;
-  Bzfile_val(chan) = NULL;
+  Cfile_lval(chan) = 0;
+  Bzfile_lval(chan) = 0;
   /*  mlbz_error(bzerror, "Bz.close_in", chan, 1); */
   return Val_unit ;
 }
@@ -197,8 +200,8 @@
   int bzerror ;
   BZ_P(bzWriteClose)(&bzerror, Bzfile_val(chan), 0, NULL, NULL) ;
   fclose(Cfile_val(chan)) ;
-  Cfile_val(chan) = NULL;
-  Bzfile_val(chan) = NULL;
+  Cfile_lval(chan) = 0;
+  Bzfile_lval(chan) = 0;
   /*  mlbz_error(bzerror, "Bz.close_out", chan, 0); */
   return Val_unit ;
 }
diff -ru gz-0.5.6/c_gz.c gz-0.5.6-dm1/c_gz.c
--- gz-0.5.6/c_gz.c     2002-05-29 10:41:35.000000000 +0200
+++ gz-0.5.6-dm1/c_gz.c 2005-07-06 19:56:35.127934112 +0200
@@ -65,6 +65,7 @@
 
 /* extract the gzFile from the Caml value */
 #define Gzfile_val(v)  ((gzFile)(Field((v), 0)))
+#define Gzfile_lval(v)  ((Field((v), 0)))
 
 /* get library version */
 value mlgz_zlibversion(value unit)
@@ -200,7 +201,7 @@
   res = gzclose(str);
   if(res<0)
     mlgz_error(str);
-  Gzfile_val(chan) = NULL ;
+  Gzfile_lval(chan) = 0 ;
   return Val_unit;
 }
 



Yours,
d.
-- 
pub  1024D/A3AD7A2A 2004-10-03 David MENTRE <address@hidden>
 5996 CC46 4612 9CA4 3562  D7AC 6C67 9E96 A3AD 7A2A





reply via email to

[Prev in Thread] Current Thread [Next in Thread]