On Tue, Sep 24, 2024 at 06:54:35PM +0700, Robert Elz wrote:
> Date: Tue, 24 Sep 2024 12:56:49 +0200
> From: <[email protected]>
> Message-ID: <[email protected]>
>
> | The present patch does two things:
> |
> | 1) Set, by default, the maximum of bytes read, in every case, as being
> | LINE_MAX (the maximum number of bytes in a line in a text file);
>
> I am not really in favour of that part, while allowed by the standard,
> imposing unnecessary limits, just because they are permitted, is not
> really ideal. Apart from that, the "line" read by read (without -r)
> can actually be several (or many) text file lines, if each is ended by
> a \ (line continuation).
In the present code, a delimiter can not be "any character": because
if the delimiter is the backslash, what shall be the behavior?
Since backslash is defined to be the escape character, it can not be
used as a delimiter, unless specifying that all backslashes have to
be escaped to be accepted as end delimiter... But how to specify a
continuation line then?
Shouldn't we rule out backslash as a delimiter (for -d) (and POSIX has
to be amended). Or, if backslash is a delimiter, does this imply
"raw", i.e. no escaping club?
Furthermore the continuation test on:
if (c != '\n') /* \ \n is always just removed */
goto wdch;
seems wrong. Shouldn't it be?:
if (c != end)
goto wdch;
to accept whatever continuation line with whatever delimiter?
--
Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
http://www.kergis.com/
http://kertex.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.