> Date: Tue, 27 Jan 2009 21:25:48 -0500
 > From: Michael Gold <[email protected]>
 > Content-Disposition: inline
 > 
 > >  > We should also verify
 > >  >        sizeof(pdf_list_iterator_s) >=3D3D sizeof(gl_list_iterator_t)
 > >  >        and sizeof(pdf_hash_iterator_s) >=3D3D sizeof(gl_list_iterator_=
 > t)
 > >  >=20
 > >  > Is there a portable way to do this at compile time? If not, assertions
 > >  > could be used in pdf_{list,hash}_iterator.
 > >=20
 > > If it is, then we can just use the gl real size. :-)
 > 
 > > BTW, I didn't use sizeof() on gl_list because that way we need to make
 > > gnulib implementation public. :-/
 > 
 > I think you're referring to sizing gl_itr based on
 > sizeof(gl_list_iterator_t) -- if so, you're right that this won't work.
 > 
 > What I meant was verifying those conditions in our private code (not the
 > public header file), as a sanity check.

Right, I see.

 > > OTOH, I'm really against assertions in code. I consider it a serious desi=
 > gn
 > > flaw.
 > 
 > Why?

They cause the program to abort instead of giving the chance to handle the
error. But if the asserts would fail at compile-time or in the test suite at
run-time then I have no problem with them.


So, let's sum up. We use a 'void*' and add a test case with a:
assert(sizeof(gl_itr)<=sizeof(our_itr))

Any other suggestion ?

regards,

-gerel


Reply via email to