Fix issue 3411: default float format spec fails on negative numbers.
diff --git a/Python/pystrtod.c b/Python/pystrtod.c
index 01c1c42..302e012 100644
--- a/Python/pystrtod.c
+++ b/Python/pystrtod.c
@@ -302,6 +302,10 @@
 
 	/* search for the first non-digit character */
 	char *p = buffer;
+	if (*p == '-' || *p == '+')
+		/* Skip leading sign, if present.  I think this could only
+		   ever be '-', but it can't hurt to check for both. */
+		++p;
 	while (*p && isdigit(Py_CHARMASK(*p)))
 		++p;