pgbench: handring empty lines in external scripts - Mailing list pgsql-patches

From ITAGAKI Takahiro
Subject pgbench: handring empty lines in external scripts
Date
Msg-id 20060815170804.5806.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Whole thread Raw
Responses Re: pgbench: handring empty lines in external scripts  (Tatsuo Ishii <ishii@sraoss.co.jp>)
List 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


pgsql-patches by date:

Previous
From: "dror"
Date:
Subject: Re: [Patch] - Fix for bug #2558, InitDB failed to run
Next
From: Andreas Pflug
Date:
Subject: Re: [Patch] - Fix for bug #2558, InitDB failed to run