Gregg, I just checked in changes that should fix the warnings you mentioned. Thanks for reviewing this. As to the SERVER_PROTOCOL, I have no idea yet what may cause this.
//Stefan > Am 25.08.2015 um 06:11 schrieb Gregg Smith <g...@gknw.net>: > > Hi, > > On 8/24/2015 9:29 AM, Stefan Eissing wrote: > >> I hope this works for everyone. The next weeks might be a good time to think >> about it and propose any changes and correct my mistakes. > > There are two things that go bump on my lowest non-eol version of MSVC. > h2_worker.c > .\h2_worker.c(113) : error C2440: 'function' : cannot convert from 'void > *(__cdecl *)(apr_thread_t *,void *)' to 'apr_thread_start_t' > .\h2_worker.c(113) : warning C4022: 'apr_thread_create' : pointer mismatch > for actual parameter 3 > > Casting execute to apr_thread_start_t (what apr_thread_create expects) seems > to quiet the compiler and FireFox seems to work with it. > > h2_session.c > .\h2_session.c(1079) : error C2440: 'type cast' : cannot convert from 'int' > to 'nghttp2_data_source' > .\h2_session.c(1081) : warning C4047: 'initializing' : 'int' differs in > levels of indirection from 'nghttp2_data_source_read_callback' > > This cast to a union type, this MSVC version's docs on Unions has a note in > the comments mentioning; >> >> We recommend that you do not use a union to cast data from one data type to >> another because union members occupy the same address in memory. >> >> There is no data-conversion support for unions. The results of interchanging >> writes and reads between union members of different types are unpredictable >> and depend on a variety of reasons. >> > > They are evidently enforcing this. I just removed the cast and it builds and > Firefox seems to work. > > Other nits of interest or not; > h2_stream_set.c > .\h2_stream_set.c(139) : warning C4028: formal parameter 2 different from > declaration > > The function is prototyped as: h2_stream_set_match_fn *match > but in h2_stream_set.c it is: h2_stream_set_match_fn match > > I get 2 different results for the $ENV{'SERVER_PROTOCOL'} in my perl script > depending on the machine. My server gives me "HTTP/1.1" and running locally > on my build machine I get "INCLUDED." Firefox says it is HTTP/2.0 200 OK so > both results in this $ENV seem incorrect. I'm not sure why the difference as > mod_h2 is configured same on both. > > Regards, > Gregg > > > > > <green/>bytes GmbH Hafenweg 16, 48155 Münster, Germany Phone: +49 251 2807760. Amtsgericht Münster: HRB5782