• Home
  • Raw
  • Download

Lines Matching +full:pointer +full:- +full:overflow

16 /* Static overflow check values for bases 2 through 36.
18 * i * base doesn't overflow unsigned long.
60 /* maximum digits that can't ever overflow for bases 2 through 36,
66 0, 0, 32, 20, 16, 13, 12, 11, 10, 10, /* 0 - 9 */
67 9, 9, 8, 8, 8, 8, 8, 7, 7, 7, /* 10 - 19 */
68 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, /* 20 - 29 */
69 6, 6, 6, 6, 6, 6, 6}; /* 30 - 36 */
73 0, 0, 64, 40, 32, 27, 24, 22, 21, 20, /* 0 - 9 */
74 19, 18, 17, 17, 16, 16, 16, 15, 15, 15, /* 10 - 19 */
75 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, /* 20 - 29 */
76 13, 12, 12, 12, 12, 12, 12}; /* 30 - 36 */
89 ** If 'ptr' is non-NULL it will contain a pointer to
92 ** exceptions - we don't check for them.
99 int ovlimit; /* required digits to overflow */ in PyOS_strtoul()
105 /* check for leading 0b, 0o or 0x for auto-base or base 16 */ in PyOS_strtoul()
211 /* do the conversion until non-digit character encountered */ in PyOS_strtoul()
213 if (ovlimit > 0) /* no overflow check required */ in PyOS_strtoul()
215 else { /* requires overflow check */ in PyOS_strtoul()
218 if (ovlimit < 0) /* guaranteed overflow */ in PyOS_strtoul()
221 /* there could be an overflow */ in PyOS_strtoul()
222 /* check overflow just from shifting */ in PyOS_strtoul()
228 /* check overflow from the digit's value */ in PyOS_strtoul()
237 --ovlimit; in PyOS_strtoul()
240 /* set pointer to point to the last character scanned */ in PyOS_strtoul()
254 return (unsigned long)-1; in PyOS_strtoul()
257 /* Checking for overflow in PyOS_strtol is a PITA; see comments
260 #define PY_ABS_LONG_MIN (0-(unsigned long)LONG_MIN)
273 if (sign == '+' || sign == '-') in PyOS_strtol()
280 if (sign == '-') in PyOS_strtol()
281 result = -result; in PyOS_strtol()
283 else if (sign == '-' && uresult == PY_ABS_LONG_MIN) { in PyOS_strtol()