Re: textutils -> od 2.0.14 bug - solved
"Eric Backus" <[email protected]>
| Newsgroups | gmane.comp.gnu.textutils.bugs |
|---|---|
| Organization | Agilent Technologies |
| Message-ID | <[email protected]> |
From: "Jim Meyering" <[email protected]> > +/* Ensure that for each member of `enum size_spec' there is an > + initializer in the width_bytes array. */ > +struct assert_width_bytes_matches_size_spec_decl > +{ > + int t1[sizeof width_bytes / sizeof width_bytes[0] - N_SIZE_SPECS]; > + int t2[N_SIZE_SPECS - sizeof width_bytes / sizeof width_bytes[0]]; > +}; > + I like the idea of verifying that the code is consistent. But the above structure assumes that zero-length arrays are valid, and they are not in standard C (at least not in C90, I suppose C99 could have added that?). As an alternative, you could have an N_WIDTH_BYTES entry at the end of the width_bytes array, and then have something like: #if N_SIZE_SPECS != N_WIDTH_BYTES #error Array size mismatch #endif -- Eric Backus R&D Design Engineer Agilent Technologies, Inc. 425-335-2495 Tel