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

src/interfaces/libpq/fe-exec.c

index 64b4638b6996a0995d7e4dc5f1e39dcd4d416e64..2f3bd87317d23c3a49f28a082f37ee57a6936f69 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;