bug-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is TODO up-to-date?


From: Collin Funk
Subject: Re: Is TODO up-to-date?
Date: Thu, 2 May 2024 14:10:06 -0700
User-agent: Mozilla Thunderbird

Hi Simon,

On 5/2/24 10:55 AM, Simon Josefsson wrote:
>> Specifically, are these items still true?
> 
> I think you should pretty much assume very little is up to date or
> correct in inetutils.

Haha, good to know. :)

>>> generally use gnulib for portability more than we use today:
>>>  - getaddrinfo/getnameinfo with IDN support to simplify IDN
>>>  complexity
> 
> There were discussions around this earlier.  I wanted to move IDN usage
> to getaddrinfo/getnameinfo rather than explicit linkage to
> libidn/libidn2 but IIRC Mats-Erik objected that this would mean dropping
> IDN support on non-glibc platforms which is true.  My take is that
> gnulib's getaddrinfo/getnameinfo should be extended to use libidn2 and
> IDN functionality on non-glibc platforms, and then inetutils should use
> that, and we should drop the direct linkage to libidn2.

Ah, I see. The one in gnulib right now seems very much targeted
towards Windows from what I can tell.

> I worry about self-tests though, it would be nice to beef up on that.
> There is a pretty substantial GNU/Linux-centric self-test pipeline here
> (I just noticed the last commit broke this due to indentation changes):
> 
> https://gitlab.com/gsasl/inetutils/-/pipelines
> 
> Adding some BSD, Solaris or other hosts to this would be nice, it is
> hard to know what currently works before we break/improve things.

Good point. I don't know too much about the GitLab stuff so I can't
help there, sorry.

I do use FreeBSD sometimes so it would be nice to keep things working
there. Some basic build-checks on my own system is better than nothing
I suppose.

>> Also, I have attached two patches that modernize stuff to match
>> current gnulib. First, with the 'environ' module there is no need for
>> 'extern char **environ'. It is handled in unistd.h by gnulib [1].
> 
> Looks good, please push.  I don't think a NEWS entry is necessary for
> this.

I don't have commit access. My savannah account is here:

    https://savannah.gnu.org/users/collinfunk

if you want to add me to the Inetutils group.

>> Second, now that the 'stdbool' module emulates C23, there is no need
>> to include stdbool.h. If the compiler doesn't support bool stuff as a
>> keyword the header is included in config.h.
> 
> Interesting -- is it recommended by gnulib to remove '#include
> <stdbool.h>'?  That is a fairly common idiom for using bool types, so it
> seems a bit odd to actively remove it and relying purely on config.h.
> Does it harm anything?  In the odd scenario that someone ports this to a
> platform with stdbool.h but rips out config.h this will cause additional
> breakage.  Not sure if we care about that though, anyone going in that
> direction will have to own all pieces anyway...

Good point. No there shouldn't be any harm in leaving the include. In
the case of modern gnulib it would just be a no-op, since it is
handled in config.h. I can't imagine any platform that doesn't have
the header and where including it twice would break things.

The gnulib change was to match C23 which makes it a keyword supported
by the compiler. I suppose it was core codebases who use a more modern
style, see Coreutils for example. Since Inetutils still has it's
pre-C99 BSD history visible, perhaps it would look strange removing
it. :)

Collin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]