Skip to content
Snippets Groups Projects
Commit 277b2ea3 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Add comments about why errno is set to zero.

parent 814acfcc
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.162 2005/12/01 17:56:34 tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.163 2005/12/01 20:06:37 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -1013,7 +1013,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
if (tzp == NULL)
return DTERR_BAD_FORMAT;
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
val = strtol(field[i], &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
......@@ -1161,7 +1161,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
char *cp;
int val;
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
val = strtol(field[i], &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
......@@ -1921,7 +1921,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
break;
}
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
val = strtol(field[i], &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
......@@ -2465,14 +2465,14 @@ DecodeTime(char *str, int fmask, int *tmask, struct pg_tm * tm, fsec_t *fsec)
*tmask = DTK_TIME_M;
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
tm->tm_hour = strtol(str, &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
if (*cp != ':')
return DTERR_BAD_FORMAT;
str = cp + 1;
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
tm->tm_min = strtol(str, &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
......@@ -2486,7 +2486,7 @@ DecodeTime(char *str, int fmask, int *tmask, struct pg_tm * tm, fsec_t *fsec)
else
{
str = cp + 1;
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
tm->tm_sec = strtol(str, &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
......@@ -2540,7 +2540,7 @@ DecodeNumber(int flen, char *str, bool haveTextMonth, int fmask,
*tmask = 0;
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
val = strtol(str, &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
......@@ -2830,7 +2830,7 @@ DecodeTimezone(char *str, int *tzp)
if (*str != '+' && *str != '-')
return DTERR_BAD_FORMAT;
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
hr = strtol(str + 1, &cp, 10);
if (errno == ERANGE)
return DTERR_TZDISP_OVERFLOW;
......@@ -2838,7 +2838,7 @@ DecodeTimezone(char *str, int *tzp)
/* explicit delimiter? */
if (*cp == ':')
{
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
min = strtol(cp + 1, &cp, 10);
if (errno == ERANGE)
return DTERR_TZDISP_OVERFLOW;
......@@ -3085,7 +3085,7 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct pg_tm * tm,
case DTK_DATE:
case DTK_NUMBER:
errno = 0;
errno = 0; /* avoid checking LONG_MIN/LONG_MAX */
val = strtol(field[i], &cp, 10);
if (errno == ERANGE)
return DTERR_FIELD_OVERFLOW;
......
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.116 2005/11/17 22:14:52 tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.117 2005/12/01 20:06:37 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -278,7 +278,7 @@ float4in(PG_FUNCTION_ARGS)
while (*num != '\0' && isspace((unsigned char) *num))
num++;
errno = 0;
errno = 0; /* avoid checking HUGE_VAL */
val = strtod(num, &endptr);
/* did we not see anything that looks like a double? */
......@@ -445,7 +445,7 @@ float8in(PG_FUNCTION_ARGS)
while (*num != '\0' && isspace((unsigned char) *num))
num++;
errno = 0;
errno = 0; /* avoid checking HUGE_VAL */
val = strtod(num, &endptr);
/* did we not see anything that looks like a double? */
......@@ -1476,7 +1476,7 @@ dpow(PG_FUNCTION_ARGS)
* We must check both for errno getting set and for a NaN result, in order
* to deal with the vagaries of different platforms...
*/
errno = 0;
errno = 0; /* avoid checking result for failure */
result = pow(arg1, arg2);
if (errno != 0
#ifdef HAVE_FINITE
......@@ -1506,7 +1506,7 @@ dexp(PG_FUNCTION_ARGS)
* to deal with the vagaries of different platforms. Also, a zero result
* implies unreported underflow.
*/
errno = 0;
errno = 0; /* avoid checking result for failure */
result = exp(arg1);
if (errno != 0 || result == 0.0
#ifdef HAVE_FINITE
......@@ -1590,7 +1590,7 @@ dacos(PG_FUNCTION_ARGS)
float8 arg1 = PG_GETARG_FLOAT8(0);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = acos(arg1);
if (errno != 0
#ifdef HAVE_FINITE
......@@ -1615,7 +1615,7 @@ dasin(PG_FUNCTION_ARGS)
float8 arg1 = PG_GETARG_FLOAT8(0);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = asin(arg1);
if (errno != 0
#ifdef HAVE_FINITE
......@@ -1640,7 +1640,7 @@ datan(PG_FUNCTION_ARGS)
float8 arg1 = PG_GETARG_FLOAT8(0);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = atan(arg1);
if (errno != 0
#ifdef HAVE_FINITE
......@@ -1666,7 +1666,7 @@ datan2(PG_FUNCTION_ARGS)
float8 arg2 = PG_GETARG_FLOAT8(1);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = atan2(arg1, arg2);
if (errno != 0
#ifdef HAVE_FINITE
......@@ -1691,7 +1691,7 @@ dcos(PG_FUNCTION_ARGS)
float8 arg1 = PG_GETARG_FLOAT8(0);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = cos(arg1);
if (errno != 0
#ifdef HAVE_FINITE
......@@ -1716,7 +1716,7 @@ dcot(PG_FUNCTION_ARGS)
float8 arg1 = PG_GETARG_FLOAT8(0);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = tan(arg1);
if (errno != 0 || result == 0.0
#ifdef HAVE_FINITE
......@@ -1742,7 +1742,7 @@ dsin(PG_FUNCTION_ARGS)
float8 arg1 = PG_GETARG_FLOAT8(0);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = sin(arg1);
if (errno != 0
#ifdef HAVE_FINITE
......@@ -1767,7 +1767,7 @@ dtan(PG_FUNCTION_ARGS)
float8 arg1 = PG_GETARG_FLOAT8(0);
float8 result;
errno = 0;
errno = 0; /* avoid checking result for failure */
result = tan(arg1);
if (errno != 0
#ifdef HAVE_FINITE
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment