Skip site navigation (1) Skip section navigation (2)

Re: Reporting hba lines

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Reporting hba lines
Date: 2013-01-05 16:58:19
Message-ID: CABUevEzRUqWJWkFA3awkQiKNCxa9tUw4a2BzLfXrKxtmeWqAig@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-hackers
On Fri, Jun 29, 2012 at 4:39 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Magnus Hagander <magnus(at)hagander(dot)net> writes:
>> Turned out to be a bit more work than I thought, since the current
>> parser reads pg_hba byte by byte, and not line by line. So I had to
>> change that. See attached, seems reasonable?
>
> A couple of comments:
>
> * In some places you have "if ((c = *(*lineptr)++) != '\0')" and in other
> places just "if ((c = *(*lineptr)++))".  This should be consistent (and
> personally I prefer the first way).
>
> * I'm not sure that this conversion is right:
>
> !       if (c != EOF)
> !               ungetc(c, fp);
> ---
> !       if (c != '\0')
> !               (*lineptr)--;
>
> In the file case, it's impossible to push back EOF, and unnecessary
> since another getc will produce EOF again anyway.  In the string case,
> though, I think you might need to decrement the lineptr unconditionally,
> else next call will run off the end of the string no?
>
> * This bit seems a bit ugly, and not Windows-aware either:
>
> !                                               /* We don't store the trailing newline */
> !                                               if (rawline[strlen(rawline)-1] == '\n')
> !                                                       rawline[strlen(rawline)-1] = '\0';
> !
>
> It might be better to strip trailing \n and \r from the line immediately
> upon read, rather than here.

I re-found this branch that I had completely forgotten about, when
cleaning up my reposiroty. oops.

Attached is an updated version of the patch, per the comments from Tom
and rebased on top of the current master. Since it's been a long time
ago, and some code churn in the area, another round of review is
probably a good thing...

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Attachment: hba_line3.patch
Description: application/octet-stream (12.9 KB)

In response to

Responses

pgsql-hackers by date

Next:From: Magnus HaganderDate: 2013-01-05 17:21:54
Subject: Re: git author vs committer
Previous:From: Pavel StehuleDate: 2013-01-05 16:56:30
Subject: Re: enhanced error fields

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group