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/26 00:53:44 UTC
modules\http2 - structure initializing.
G/Morning,
Herewith an svn diff that implements line-by-line initialization of
three structures (no idea if there's a technical term for it) in place
of the list method now used, e.g struct x = { , , , }.
I acknowledge upfront that 'my' somewhat dated compiler cannot handle
the list method, whereas the method portrayed in the diff is totally
acceptable to it.
However, I find the 'list' method less easier to 'read' as the struct
elements are not 'visible', and one has to locate the struct definition
itself to see what is being set to what. The method as illustrated by
the patch is clearer (to my mind) and not affected by the order of the
elements within the primary structure.
Lastly I noticed at least one case recently where my diff 'simplified'
because a struct was changed to the _suggested_ method, with the primary
struct being created by a memset(); perhaps that's a similar change
needed in these cases also?
Regards,
Norm
Re: modules\http2 - structure initializing.
Posted by Jim Jagielski <ji...@jaguNET.com>.
We don't want C90 specifics, certainly not in 2.4... Strict ANSI.
> On Aug 26, 2015, at 11:26 AM, Stefan Eissing <st...@greenbytes.de> wrote:
>
> Hi Norm,
>
> I think these type of assignments are part of the C90 standard. I am not sure we want to support a compiler that cannot cope with that, but I may be to green to know that. What platform is this on exactly?
>
> //Stefan
>
>> Am 26.08.2015 um 00:53 schrieb NormW <no...@gknw.net>:
>>
>> G/Morning,
>> Herewith an svn diff that implements line-by-line initialization of three structures (no idea if there's a technical term for it) in place of the list method now used, e.g struct x = { , , , }.
>>
>> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the list method, whereas the method portrayed in the diff is totally acceptable to it.
>>
>> However, I find the 'list' method less easier to 'read' as the struct elements are not 'visible', and one has to locate the struct definition itself to see what is being set to what. The method as illustrated by the patch is clearer (to my mind) and not affected by the order of the elements within the primary structure.
>>
>> Lastly I noticed at least one case recently where my diff 'simplified' because a struct was changed to the _suggested_ method, with the primary struct being created by a memset(); perhaps that's a similar change needed in these cases also?
>>
>> Regards,
>> Norm
>>
>>
>>
>> <cw_reqd_chgs.diff>
>
> <green/>bytes GmbH
> Hafenweg 16, 48155 Münster, Germany
> Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
>
>
>
Re: modules\http2 - structure initializing.
Posted by William A Rowe Jr <wr...@rowe-clan.net>.
Netware, I'd presume.
Going forwards on trunk (not breaking 2.4.x) I agree with Norm that the
explicit list is easier for developers to first approach than the list
schema.
The feature I'd really like to see us adopt on trunk is incomplete
structures, which would allow us to break code that believes it knows the
length of an httpd exported structure (it doesn't).
The showstopper I see to 2.6/3.0 GA would be an explicit _create
initializer for all of httpd's exposed types. This would prevent the sort
of breakage caused by our introduction of HttpTrailers late in the 2.4.x
game.
Bill
On Wed, Aug 26, 2015 at 10:26 AM, Stefan Eissing <
stefan.eissing@greenbytes.de> wrote:
> Hi Norm,
>
> I think these type of assignments are part of the C90 standard. I am not
> sure we want to support a compiler that cannot cope with that, but I may be
> to green to know that. What platform is this on exactly?
>
> //Stefan
>
> > Am 26.08.2015 um 00:53 schrieb NormW <no...@gknw.net>:
> >
> > G/Morning,
> > Herewith an svn diff that implements line-by-line initialization of
> three structures (no idea if there's a technical term for it) in place of
> the list method now used, e.g struct x = { , , , }.
> >
> > I acknowledge upfront that 'my' somewhat dated compiler cannot handle
> the list method, whereas the method portrayed in the diff is totally
> acceptable to it.
> >
> > However, I find the 'list' method less easier to 'read' as the struct
> elements are not 'visible', and one has to locate the struct definition
> itself to see what is being set to what. The method as illustrated by the
> patch is clearer (to my mind) and not affected by the order of the elements
> within the primary structure.
> >
> > Lastly I noticed at least one case recently where my diff 'simplified'
> because a struct was changed to the _suggested_ method, with the primary
> struct being created by a memset(); perhaps that's a similar change needed
> in these cases also?
> >
> > Regards,
> > Norm
> >
> >
> >
> > <cw_reqd_chgs.diff>
>
> <green/>bytes GmbH
> Hafenweg 16, 48155 Münster, Germany
> Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
>
>
>
>
Re: modules\http2 - structure initializing.
Posted by Stefan Eissing <st...@greenbytes.de>.
Submitted in r1698107.
> Am 26.08.2015 um 23:41 schrieb NormW <no...@gknw.net>:
>
> Whinnnie!
> (eq Equine 'Thanks')
> On 27/08/2015 7:31 AM, Stefan Eissing wrote:
>> I will apply the proposed change tomorrow. keep the old horse happy.
>>
>> //stefan
>>
>>> Am 26.08.2015 um 23:18 schrieb NormW <no...@gknw.net>:
>>>
>>> G/Morning I think,
>>> As Bill correctly guesses in a following mail, 'my' OS is NetWare and it's the standard compiler GK has been using for years to build Apache releases.
>>>
>>> And that (Metrowerks CW) (AFAIK) is a C89 legend.
>>>
>>> As I noted in my mail, I would hardly expect to hold back tomorrows http/2 protocol for so dated a horse as NetWare, and if you introduced coding or functions that NetWare's compiler doesn't support then it's 'game-over' for the old war horse as far as http2 is concerned. For the moment however I merely suggest an opinion that initializing structures via a list of individual assignments is a better form to read the code than what is used at present, and a small, almost irrelevant side effect of which is that, for now at least, my compiler can keep building http2 for NetWare, with no functional change to the code.
>>> Regards,
>>> Norm
>>>
>>>> On 27/08/2015 1:26 AM, Stefan Eissing wrote:
>>>> Hi Norm,
>>>>
>>>> I think these type of assignments are part of the C90 standard. I am not sure we want to support a compiler that cannot cope with that, but I may be to green to know that. What platform is this on exactly?
>>>>
>>>> //Stefan
>>>>
>>>>> Am 26.08.2015 um 00:53 schrieb NormW <no...@gknw.net>:
>>>>>
>>>>> G/Morning,
>>>>> Herewith an svn diff that implements line-by-line initialization of three structures (no idea if there's a technical term for it) in place of the list method now used, e.g struct x = { , , , }.
>>>>>
>>>>> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the list method, whereas the method portrayed in the diff is totally acceptable to it.
>>>>>
>>>>> However, I find the 'list' method less easier to 'read' as the struct elements are not 'visible', and one has to locate the struct definition itself to see what is being set to what. The method as illustrated by the patch is clearer (to my mind) and not affected by the order of the elements within the primary structure.
>>>>>
>>>>> Lastly I noticed at least one case recently where my diff 'simplified' because a struct was changed to the _suggested_ method, with the primary struct being created by a memset(); perhaps that's a similar change needed in these cases also?
>>>>>
>>>>> Regards,
>>>>> Norm
>>>>>
>>>>>
>>>>>
>>>>> <cw_reqd_chgs.diff>
>>>>
>>>> <green/>bytes GmbH
>>>> Hafenweg 16, 48155 Münster, Germany
>>>> Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
>>>
>
<green/>bytes GmbH
Hafenweg 16, 48155 Münster, Germany
Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
Re: modules\http2 - structure initializing.
Posted by NormW <no...@gknw.net>.
Whinnnie!
(eq Equine 'Thanks')
On 27/08/2015 7:31 AM, Stefan Eissing wrote:
> I will apply the proposed change tomorrow. keep the old horse happy.
>
> //stefan
>
>> Am 26.08.2015 um 23:18 schrieb NormW <no...@gknw.net>:
>>
>> G/Morning I think,
>> As Bill correctly guesses in a following mail, 'my' OS is NetWare and it's the standard compiler GK has been using for years to build Apache releases.
>>
>> And that (Metrowerks CW) (AFAIK) is a C89 legend.
>>
>> As I noted in my mail, I would hardly expect to hold back tomorrows http/2 protocol for so dated a horse as NetWare, and if you introduced coding or functions that NetWare's compiler doesn't support then it's 'game-over' for the old war horse as far as http2 is concerned. For the moment however I merely suggest an opinion that initializing structures via a list of individual assignments is a better form to read the code than what is used at present, and a small, almost irrelevant side effect of which is that, for now at least, my compiler can keep building http2 for NetWare, with no functional change to the code.
>> Regards,
>> Norm
>>
>>> On 27/08/2015 1:26 AM, Stefan Eissing wrote:
>>> Hi Norm,
>>>
>>> I think these type of assignments are part of the C90 standard. I am not sure we want to support a compiler that cannot cope with that, but I may be to green to know that. What platform is this on exactly?
>>>
>>> //Stefan
>>>
>>>> Am 26.08.2015 um 00:53 schrieb NormW <no...@gknw.net>:
>>>>
>>>> G/Morning,
>>>> Herewith an svn diff that implements line-by-line initialization of three structures (no idea if there's a technical term for it) in place of the list method now used, e.g struct x = { , , , }.
>>>>
>>>> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the list method, whereas the method portrayed in the diff is totally acceptable to it.
>>>>
>>>> However, I find the 'list' method less easier to 'read' as the struct elements are not 'visible', and one has to locate the struct definition itself to see what is being set to what. The method as illustrated by the patch is clearer (to my mind) and not affected by the order of the elements within the primary structure.
>>>>
>>>> Lastly I noticed at least one case recently where my diff 'simplified' because a struct was changed to the _suggested_ method, with the primary struct being created by a memset(); perhaps that's a similar change needed in these cases also?
>>>>
>>>> Regards,
>>>> Norm
>>>>
>>>>
>>>>
>>>> <cw_reqd_chgs.diff>
>>>
>>> <green/>bytes GmbH
>>> Hafenweg 16, 48155 Münster, Germany
>>> Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
>>
Re: modules\http2 - structure initializing.
Posted by Stefan Eissing <st...@greenbytes.de>.
I will apply the proposed change tomorrow. keep the old horse happy.
//stefan
> Am 26.08.2015 um 23:18 schrieb NormW <no...@gknw.net>:
>
> G/Morning I think,
> As Bill correctly guesses in a following mail, 'my' OS is NetWare and it's the standard compiler GK has been using for years to build Apache releases.
>
> And that (Metrowerks CW) (AFAIK) is a C89 legend.
>
> As I noted in my mail, I would hardly expect to hold back tomorrows http/2 protocol for so dated a horse as NetWare, and if you introduced coding or functions that NetWare's compiler doesn't support then it's 'game-over' for the old war horse as far as http2 is concerned. For the moment however I merely suggest an opinion that initializing structures via a list of individual assignments is a better form to read the code than what is used at present, and a small, almost irrelevant side effect of which is that, for now at least, my compiler can keep building http2 for NetWare, with no functional change to the code.
> Regards,
> Norm
>
>> On 27/08/2015 1:26 AM, Stefan Eissing wrote:
>> Hi Norm,
>>
>> I think these type of assignments are part of the C90 standard. I am not sure we want to support a compiler that cannot cope with that, but I may be to green to know that. What platform is this on exactly?
>>
>> //Stefan
>>
>>> Am 26.08.2015 um 00:53 schrieb NormW <no...@gknw.net>:
>>>
>>> G/Morning,
>>> Herewith an svn diff that implements line-by-line initialization of three structures (no idea if there's a technical term for it) in place of the list method now used, e.g struct x = { , , , }.
>>>
>>> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the list method, whereas the method portrayed in the diff is totally acceptable to it.
>>>
>>> However, I find the 'list' method less easier to 'read' as the struct elements are not 'visible', and one has to locate the struct definition itself to see what is being set to what. The method as illustrated by the patch is clearer (to my mind) and not affected by the order of the elements within the primary structure.
>>>
>>> Lastly I noticed at least one case recently where my diff 'simplified' because a struct was changed to the _suggested_ method, with the primary struct being created by a memset(); perhaps that's a similar change needed in these cases also?
>>>
>>> Regards,
>>> Norm
>>>
>>>
>>>
>>> <cw_reqd_chgs.diff>
>>
>> <green/>bytes GmbH
>> Hafenweg 16, 48155 Münster, Germany
>> Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
>
Re: modules\http2 - structure initializing.
Posted by NormW <no...@gknw.net>.
G/Morning I think,
As Bill correctly guesses in a following mail, 'my' OS is NetWare and
it's the standard compiler GK has been using for years to build Apache
releases.
And that (Metrowerks CW) (AFAIK) is a C89 legend.
As I noted in my mail, I would hardly expect to hold back tomorrows
http/2 protocol for so dated a horse as NetWare, and if you introduced
coding or functions that NetWare's compiler doesn't support then it's
'game-over' for the old war horse as far as http2 is concerned. For the
moment however I merely suggest an opinion that initializing structures
via a list of individual assignments is a better form to read the code
than what is used at present, and a small, almost irrelevant side effect
of which is that, for now at least, my compiler can keep building http2
for NetWare, with no functional change to the code.
Regards,
Norm
On 27/08/2015 1:26 AM, Stefan Eissing wrote:
> Hi Norm,
>
> I think these type of assignments are part of the C90 standard. I am not sure we want to support a compiler that cannot cope with that, but I may be to green to know that. What platform is this on exactly?
>
> //Stefan
>
>> Am 26.08.2015 um 00:53 schrieb NormW <no...@gknw.net>:
>>
>> G/Morning,
>> Herewith an svn diff that implements line-by-line initialization of three structures (no idea if there's a technical term for it) in place of the list method now used, e.g struct x = { , , , }.
>>
>> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the list method, whereas the method portrayed in the diff is totally acceptable to it.
>>
>> However, I find the 'list' method less easier to 'read' as the struct elements are not 'visible', and one has to locate the struct definition itself to see what is being set to what. The method as illustrated by the patch is clearer (to my mind) and not affected by the order of the elements within the primary structure.
>>
>> Lastly I noticed at least one case recently where my diff 'simplified' because a struct was changed to the _suggested_ method, with the primary struct being created by a memset(); perhaps that's a similar change needed in these cases also?
>>
>> Regards,
>> Norm
>>
>>
>>
>> <cw_reqd_chgs.diff>
>
> <green/>bytes GmbH
> Hafenweg 16, 48155 Münster, Germany
> Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
>
>
>
Re: modules\http2 - structure initializing.
Posted by Stefan Eissing <st...@greenbytes.de>.
Hi Norm,
I think these type of assignments are part of the C90 standard. I am not sure we want to support a compiler that cannot cope with that, but I may be to green to know that. What platform is this on exactly?
//Stefan
> Am 26.08.2015 um 00:53 schrieb NormW <no...@gknw.net>:
>
> G/Morning,
> Herewith an svn diff that implements line-by-line initialization of three structures (no idea if there's a technical term for it) in place of the list method now used, e.g struct x = { , , , }.
>
> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the list method, whereas the method portrayed in the diff is totally acceptable to it.
>
> However, I find the 'list' method less easier to 'read' as the struct elements are not 'visible', and one has to locate the struct definition itself to see what is being set to what. The method as illustrated by the patch is clearer (to my mind) and not affected by the order of the elements within the primary structure.
>
> Lastly I noticed at least one case recently where my diff 'simplified' because a struct was changed to the _suggested_ method, with the primary struct being created by a memset(); perhaps that's a similar change needed in these cases also?
>
> Regards,
> Norm
>
>
>
> <cw_reqd_chgs.diff>
<green/>bytes GmbH
Hafenweg 16, 48155 Münster, Germany
Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
Re: modules\http2 - structure initializing.
Posted by NormW <no...@gknw.net>.
Yann, Sorry for the delay,
In simple terms, no; it is obvious the compiler (other people use other
names) just sees that as a single item list, and complains about the
syntax, regardless of how many items are in the list.
To be honest up to this point the compiler has been able to build
everything (including all of httpd-trunk), and I proposed the small
variations suggested in the diff on the grounds I (and evidently a few
others) thought the suggested format was clearer.
However, it is not MY intention to limit in any way the functionality of
tomorrows software solely so NetWare can make some show of trying to
keep up. I've no idea how much more coding is needed for your project,
and it may be that the next change or the 100th from now will be beyond
the capabilities of what tools I have to use, and the race will be over
for both the horse and the rider. Code as you see fit and if it
eventuates that NetWare can't keep up, there's a lot of others who will.
Regards,
Norm
On 27/08/2015 8:29 PM, Yann Ylavic wrote:
> Hi,
>
> On Wed, Aug 26, 2015 at 12:53 AM, NormW <no...@gknw.net> wrote:
>> Herewith an svn diff that implements line-by-line initialization of three
>> structures (no idea if there's a technical term for it) in place of the list
>> method now used, e.g struct x = { , , , }.
>>
>> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the
>> list method, whereas the method portrayed in the diff is totally acceptable
>> to it.
>
> Does it accept x = {0} still?
>
> Regards,
> Yann.
>
Re: modules\http2 - structure initializing.
Posted by Yann Ylavic <yl...@gmail.com>.
Hi,
On Wed, Aug 26, 2015 at 12:53 AM, NormW <no...@gknw.net> wrote:
> Herewith an svn diff that implements line-by-line initialization of three
> structures (no idea if there's a technical term for it) in place of the list
> method now used, e.g struct x = { , , , }.
>
> I acknowledge upfront that 'my' somewhat dated compiler cannot handle the
> list method, whereas the method portrayed in the diff is totally acceptable
> to it.
Does it accept x = {0} still?
Regards,
Yann.