pgbench: handring empty lines in external scripts

From: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
To: pgsql-patches(at)postgresql(dot)org
Subject: pgbench: handring empty lines in external scripts
Date: 2006-08-15 08:27:29
Message-ID: 20060815170804.5806.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Hi Tatsuo-san and folks,

This is a fix in pgbench to handle empty lines in external scripts.
The manual says
| Empty lines and lines begging with "--" will be ignored.
but AFAICS, it cannot accept empty lines and exit with error.

The cause seems to be the usage of isspace(). The characters assumed
spaces are not only ' ' and '\t' but also '\n'. So the empty-lines-test
should be the below:

*** pgbench.orig.c Tue Aug 15 17:04:58 2006
--- pgbench.c Tue Aug 15 17:06:38 2006
*************** process_file(char *filename)
*** 1006,1012 ****
while (isspace((unsigned char) buf[i]))
i++;

! if (strncmp(&buf[i], "\n", 1) != 0 && strncmp(&buf[i], "--", 2) != 0) {
commands = process_commands(&buf[i]);
if (commands == NULL)
{
--- 1006,1012 ----
while (isspace((unsigned char) buf[i]))
i++;

! if (buf[i] != '\0' && strncmp(&buf[i], "--", 2) != 0) {
commands = process_commands(&buf[i]);
if (commands == NULL)
{

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andreas Pflug 2006-08-15 09:37:30 Re: [Patch] - Fix for bug #2558, InitDB failed to run
Previous Message Devrim GUNDUZ 2006-08-15 08:14:28 Re: New beginings

Browse pgsql-patches by date

  From Date Subject
Next Message Andreas Pflug 2006-08-15 09:37:30 Re: [Patch] - Fix for bug #2558, InitDB failed to run
Previous Message dror 2006-08-15 07:37:03 Re: [Patch] - Fix for bug #2558, InitDB failed to run