[Top][All Lists]
[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