Hi,
On Fri, Jul 01, 2011 at 01:37:32AM +0100, Pádraig Brady wrote:
> On 30/06/11 20:33, Lars Ellenberg wrote:
> > On Wed, Jun 29, 2011 at 12:55:08PM +0100, Pádraig Brady wrote:
> >> On 29/06/11 11:56, Lars Ellenberg wrote:
> >>> On Tue, Jun 28, 2011 at 01:44:23AM +0100, Pádraig Brady wrote:
> >>>> The attached patch fixes compilation -Werrors with GCC 4.6
> >>>>
> >>>> cheers,
> >>>> Pádraig.
> >>>>
> >>>
> >>>> Fix compilation with GCC 4.6
> >>>>
> >>>> avoid -Werror=unused-but-set-variable issues
> >>>> remove -Wcast-qual which caused issues with copyHostList()
> >>>
> >>> Care to explain or show those "issues"?
> >>
> >> All uses of copyHostList error like:
> >>
> >> apcsmart.c: In function 'apcsmart_hostlist':
> >> apcsmart.c:722:34: error: to be safe all intermediate pointers in cast
> >> from 'char **' to 'const char **' must be 'const' qualified
> >> [-Werror=cast-qual]
> >
> > From the gcc 4.5 documentation:
> > -Wcast-qual
> > Warn whenever a pointer is cast so as to remove a type qualifier from
> > the target
> > type. For example, warn if a const char * is cast to an ordinary char *.
> > Also warn when making a cast which introduces a type qualifier in an
> > unsafe
> > way. For example, casting char ** to const char ** is unsafe, as in
> > this ex-
> > ample:
> > /* p is char ** value. */
> > const char **q = (const char **) p;
> > /* Assignment of readonly string to const char * is OK.
> > *q = "string";
> > /* Now char** pointer points to read-only memory. */
> > **p = ’b’;
> >
> > So apparently it needs to be
> >
> > include/stonith/stonith_plugin.h:
> > struct StonithImports_s {
> > ...
> > - char **(*CopyHostList)(const char ** hlstring);
> > + char **(*CopyHostList)(const char * const * hlstring);
> >
> > And the callers have to be adjusted accordingly?
> > Could you check if that works?
>
> Sure, that would work but would involve a lot of changes I think.
> I was unsure how changing this interface might affect users
> outside this project, but if that's OK I'll go ahead
> and change that (tomorrow when I'm more awake).
It should be OK. It is a change which may break compilation, then
if somebody's using the libraries they should fix their code
accordingly.
> Oh and originally I forgot to mention that
> these changes are required to get this project to
> compile on Fedora 15.
OK. Many thanks for providing the patch.
Cheers,
Dejan
> cheers,
> Pádraig.
> _______________________________________________________
> Linux-HA-Dev: [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/