Re: [PATCH 1/3] remote-testsvn.c: Avoid the getline() GNU extension function
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 26, 2012, 17:31 UTC
- Message-ID
- <7v3939wofb.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CABPQNSZfUO-vjVmBU2+CMbxTXMj_HT=cTFfVbnehUjqOL-vkxw@mail.gmail.com>
Erik Faye-Lund <kusmabite@gmail.com> writes:
Show 10 quoted lines
> On Sat, Aug 25, 2012 at 7:13 PM, Ramsay Jones > <ramsay@ramsay1.demon.co.uk> wrote: >> >> The getline() function is a GNU extension (you need to define >> _GNU_SOURCE before including stdio.h) and is, therefore, not >> portable. In particular, getline() is not available on MinGW. > > Actually, getline is a POSIX-2008 feature, so it's not (simply) a GNU extension: > > http://pubs.opengroup.org/onlinepubs/9699919799/functions/getline.html
True, thanks for pointing it out. Justify the change with something like this instead, perhaps?
The getline() function, even though is in POSIX.1-2008, is not available on some platforms. Use strbuf_getline() for portability.
By the way, the remainder of the proposed log message talks about the difference between getline() that keeps the terminating LF vs strbuf_getline() that drops it. Would strbuf_getwholeline() be a better alternative?