a56612a6507f5034172d1b164f2e2fdd09239303
galt
  Tue May 8 01:19:13 2012 -0700
fixing some bugs turned up by testing
diff --git src/lib/sqlNum.c src/lib/sqlNum.c
index de24c13..bc9eb25 100644
--- src/lib/sqlNum.c
+++ src/lib/sqlNum.c
@@ -41,31 +41,31 @@
 char *p = s;
 char c;
 
 while (((c = *(p++)) >= '0') && (c <= '9'))
     {
     res *= 10;
     res += c - '0';
     }
 if (!(c == '\0' || c == ','))
     {
     char *e = strchr(s, ',');
     if (e)
 	*e = 0;
     errAbort("invalid unsigned integer: \"%s\"", s);
     }
-*pS = p;
+*pS = --p;
 return res;
 }
 
 unsigned long sqlUnsignedLong(char *s)
 /* Convert series of digits to unsigned long about
  * twice as fast as atol (by not having to skip white 
  * space or stop except at the null byte.) */
 {
 unsigned long res = 0;
 char *p = s;
 char c;
 
 while (((c = *(p++)) >= '0') && (c <= '9'))
     {
     res *= 10;
@@ -88,31 +88,31 @@
 char *p = s;
 char c;
 
 while (((c = *(p++)) >= '0') && (c <= '9'))
     {
     res *= 10;
     res += c - '0';
     }
 if (!(c == '\0' || c == ','))
     {
     char *e = strchr(s, ',');
     if (e)
 	*e = 0;
     errAbort("invalid unsigned long: \"%s\"", s);
     }
-*pS = p;
+*pS = --p;
 return res;
 }
 
 int sqlSigned(char *s)
 /* Convert string to signed integer.  Unlike atol assumes 
  * all of string is number. */
 {
 int res = 0;
 char *p, *p0 = s;
 
 if (*p0 == '-')
     p0++;
 p = p0;
 while ((*p >= '0') && (*p <= '9'))
     {