Re: closing file in adjust_data_dir

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: Ted Yu <yuzhihong(at)gmail(dot)com>, Japin Li <japinli(at)hotmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: closing file in adjust_data_dir
Date: 2022-11-16 08:28:27
Message-ID: 8f651e9b-ed48-f4e9-4b07-57f5f9c37c7e@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 16.11.22 04:31, Ted Yu wrote:
> On Wed, 16 Nov 2022 at 11:15, Ted Yu <yuzhihong(at)gmail(dot)com
> <mailto:yuzhihong(at)gmail(dot)com>> wrote:
> > On Tue, Nov 15, 2022 at 7:12 PM Japin Li <japinli(at)hotmail(dot)com
> <mailto:japinli(at)hotmail(dot)com>> wrote:
> >> After some rethinking, I find the origin code do not have problems.
> >>
> >> If fd is NULL or fgets() returns NULL, the process exits.
> Otherwise, we
> >> call
> >> pclose() to close fd.  The code isn't straightforward, however,
> it is
> >> correct.
>
> Hi,
> Please take a look at the following:
>
> https://en.cppreference.com/w/c/io/fgets
> <https://en.cppreference.com/w/c/io/fgets>
> Quote: If the failure has been caused by some other error, sets the
> /error/ indicator (see ferror()
> <https://en.cppreference.com/w/c/io/ferror>) on |stream|. The contents
> of the array pointed to by |str| are indeterminate (it may not even be
> null-terminated).

That has nothing to do with the return value of fgets().

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message shiy.fnst@fujitsu.com 2022-11-16 08:29:24 RE: Fix some newly modified tab-complete changes
Previous Message houzj.fnst@fujitsu.com 2022-11-16 08:19:48 RE: Perform streaming logical transactions by background workers and parallel apply