Fix unportable usages in new pgbench code (strndup, ctype macros)
authorTom Lane
Thu, 29 Sep 2005 16:18:26 +0000 (16:18 +0000)
committerTom Lane
Thu, 29 Sep 2005 16:18:26 +0000 (16:18 +0000)
contrib/pgbench/pgbench.c

index ecfb522c692589da6d21c9e8a594237e3829c37c..0450748eb75852ce84ce99748fbdd62cae982b95 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.37 2005/09/29 13:44:25 ishii Exp $
+ * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.38 2005/09/29 16:18:26 tgl Exp $
  *
  * pgbench: a simple TPC-B like benchmark program for PostgreSQL
  * written by Tatsuo Ishii
@@ -21,8 +21,6 @@
 
 #include "libpq-fe.h"
 
-#include 
-
 #ifdef WIN32
 #include "win32.h"
 #else
@@ -275,14 +273,17 @@ assignVariables(CState * st, char *sql)
    while ((p = strchr(&sql[i], ':')) != NULL)
    {
        i = j = p - sql;
-       do
+       do {
            i++;
-       while (isalnum(sql[i]) != 0 || sql[i] == '_');
+       } while (isalnum((unsigned char) sql[i]) || sql[i] == '_');
        if (i == j + 1)
            continue;
 
-       if ((name = strndup(&sql[j + 1], i - (j + 1))) == NULL)
+       name = malloc(i - j);
+       if (name == NULL)
            return NULL;
+       memcpy(name, &sql[j + 1], i - (j + 1));
+       name[i - (j + 1)] = '\0';
        val = getVariable(st, name);
        free(name);
        if (val == NULL)
@@ -966,7 +967,7 @@ process_file(char *filename)
        if ((p = strchr(buf, '\n')) != NULL)
            *p = '\0';
        p = buf;
-       while (isspace(*p))
+       while (isspace((unsigned char) *p))
            p++;
        if (*p == '\0' || strncmp(p, "--", 2) == 0)
        {