OSDN Git Service

Disable strtoul() ERANGE check on Win32, because it isn't thread safe,
authorBruce Momjian <bruce@momjian.us>
Sat, 13 Aug 2005 01:34:30 +0000 (01:34 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 13 Aug 2005 01:34:30 +0000 (01:34 +0000)
and it isn't really required.

src/interfaces/libpq/fe-exec.c

index 64b4638..2f3bd87 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.170 2005/07/02 17:01:54 momjian Exp $
+ *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.171 2005/08/13 01:34:30 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2166,7 +2166,15 @@ PQoidValue(const PGresult *res)
 #endif
        result = strtoul(res->cmdStatus + 7, &endptr, 10);
 
-       if (!endptr || (*endptr != ' ' && *endptr != '\0') || errno == ERANGE)
+       if (!endptr || (*endptr != ' ' && *endptr != '\0')
+#ifndef WIN32
+       /*
+        *      On WIN32, errno is not thread-safe and GetLastError() isn't set by
+        *      strtoul(), so we can't check on this platform.
+        */
+ || errno == ERANGE
+#endif
+               )
                return InvalidOid;
        else
                return (Oid) result;