Subject: Re: [bug-diffutils] bug#19186: [PATCH] OS/2 patches

From: Jim Meyering <[email-masked]>
Date: Fri, 12 Dec 2014 19:51:21 -0800

On Fri, Dec 12, 2014 at 7:24 PM, KO Myung-Hun <[email-masked]> wrote:
>
>
> Jim Meyering wrote:
>> On Wed, Dec 10, 2014 at 9:37 PM, KO Myung-Hun <[email-masked]> wrote:
>>> Jim Meyering wrote:
>>>> On Tue, Nov 25, 2014 at 6:29 PM, KO Myung-Hun <[email-masked]> wrote:
>>>>> Hi/2.
>>>>>
>>>>> These are OS/2 patches.
>>>>>
>>>>> Review, please...
>>>>>
>>>>> [PATCH 1/2] build: use quotation mark(") for PATH
>>>>> [PATCH 2/2] diff: skip test if seek is not possible on OS/2 kLIBC
>>>>
>>>> I saw no patches here, but was able to dig them out of the
>>>> bug-tracking system at http://debbugs.gnu.org/19186.
>>>> I have applied and pushed the first one.  Thank you.
>>>>
>>>> However, for the second, my inclination is that if at all possible,
>>>> it should be fixed via an lseek replacement that does something
>>>> more sensible. Of course, that may not be possible, but from
>>>> what you've presented so far, I cannot tell. Please demonstrate
>>>> a use of diff that shows how OS/2+kLIBC's lseek fails.
>>>
>>> Do you want this ?
>>>
>>> -----
>>> $ cat file | diff - file
>>> diff.exe: -: Invalid seek
>>> -----
>>
>> Yes.  Thanks. That shows how lseek-pipe fails on your system.
>> Please adjust your patch to make diff ignore failure only in that case,
>> i.e., when errno == EINVAL (assuming strerror(EINVAL)
>> produces that diagnostic).
>
> Do you mean to add errno == EINVAL to if() for pfatal_with_name() ?

No.
Skip the test only when this lseek fails with precisely that errno value:

+#ifdef __KLIBC__
+      /* Skip test if seek is not possible */
+      skip_test = skip_test || lseek (current->desc, 0, SEEK_CUR) < 0;
+#endif