You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by NormW <no...@gknw.net> on 2015/08/20 11:56:31 UTC

httpd-trunk\modules\http2\h2_session.c Mystery

Hi,
My compiler (no names) is vastly smarter than I at understanding C, but 
I can't tell if the following 'error' is drivel or just over my head;
> #    File: h2_session.c
> # ---------------------
> #     512:nghttp2_session_callbacks_set_on_invalid_frame_recv_callback(*pcb, 
on_invalid_frame_recv_cb)
> #   Error:                                                                                            ^
> #   illegal implicit conversion
> #   from 'int    (struct nghttp2_session *, const union  *, @enum$24h2_session_c, void *)'
> #   to   'int (*)(struct nghttp2_session *, const union  *, int, void *)'
Beyond this one 'blip', mod_h2 builds without issue, even the static 
build/link of nghttp2 lib.
TIA,
Norm



Re: httpd-trunk\modules\http2\h2_session.c Mystery

Posted by Stefan Eissing <st...@greenbytes.de>.
Ah, yes. I think that once changed in an older nghttp2 release and went unnoticed. Thanks for the fix!

> Am 20.08.2015 um 12:39 schrieb Yann Ylavic <yl...@gmail.com>:
> 
> Hi,
> 
> On Thu, Aug 20, 2015 at 11:56 AM, NormW <no...@gknw.net> wrote:
>>> 
>>> #    File: h2_session.c
>>> # ---------------------
>>> #
>>> 512:nghttp2_session_callbacks_set_on_invalid_frame_recv_callback(*pcb,
>> 
>> on_invalid_frame_recv_cb)
>>> 
>>> #   Error:
>>> ^
>>> #   illegal implicit conversion
>>> #   from 'int    (struct nghttp2_session *, const union  *,
>>> @enum$24h2_session_c, void *)'
>>> #   to   'int (*)(struct nghttp2_session *, const union  *, int, void *)'
> 
> It seems that the nghttp2_on_invalid_frame_recv_callback type requires
> an int for its error parameter, not a nghttp2_error enum.
> 
> Does the attached patch helps?
> 
> Regards,
> Yann.
> <httpd-trunk-h2_session_on_invalid_frame_recv_cb.patch>

<green/>bytes GmbH
Hafenweg 16, 48155 Münster, Germany
Phone: +49 251 2807760. Amtsgericht Münster: HRB5782




Re: httpd-trunk\modules\http2\h2_session.c Mystery

Posted by NormW <no...@gknw.net>.
On 20/08/2015 8:39 PM, Yann Ylavic wrote:
> Hi,
>
> On Thu, Aug 20, 2015 at 11:56 AM, NormW <no...@gknw.net> wrote:
>>>
>>> #    File: h2_session.c
>>> # ---------------------
>>> #
>>> 512:nghttp2_session_callbacks_set_on_invalid_frame_recv_callback(*pcb,
>>
>> on_invalid_frame_recv_cb)
>>>
>>> #   Error:
>>> ^
>>> #   illegal implicit conversion
>>> #   from 'int    (struct nghttp2_session *, const union  *,
>>> @enum$24h2_session_c, void *)'
>>> #   to   'int (*)(struct nghttp2_session *, const union  *, int, void *)'
>
> It seems that the nghttp2_on_invalid_frame_recv_callback type requires
> an int for its error parameter, not a nghttp2_error enum.
>
> Does the attached patch helps?
>
> Regards,
> Yann.
>
G/Evening from Down Under,
Yes! Whatever the patch did (not yet looked) it worked; h2_session.c 
(and mod_h2 now compile/link without error.
If my compiler was a person I'd have to shout it a beer.
Regards,
Thanks for solving my Mystery.
Norm


Re: httpd-trunk\modules\http2\h2_session.c Mystery

Posted by Yann Ylavic <yl...@gmail.com>.
Hi,

On Thu, Aug 20, 2015 at 11:56 AM, NormW <no...@gknw.net> wrote:
>>
>> #    File: h2_session.c
>> # ---------------------
>> #
>> 512:nghttp2_session_callbacks_set_on_invalid_frame_recv_callback(*pcb,
>
> on_invalid_frame_recv_cb)
>>
>> #   Error:
>> ^
>> #   illegal implicit conversion
>> #   from 'int    (struct nghttp2_session *, const union  *,
>> @enum$24h2_session_c, void *)'
>> #   to   'int (*)(struct nghttp2_session *, const union  *, int, void *)'

It seems that the nghttp2_on_invalid_frame_recv_callback type requires
an int for its error parameter, not a nghttp2_error enum.

Does the attached patch helps?

Regards,
Yann.