Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
a1635450
Commit
a1635450
authored
Sep 05, 1997
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleanups needed for indent. Remove };
parent
fe97d580
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
253 additions
and
254 deletions
+253
-254
src/backend/catalog/heap.c
src/backend/catalog/heap.c
+3
-3
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/planner.c
+1
-2
src/backend/optimizer/util/pathnode.c
src/backend/optimizer/util/pathnode.c
+2
-2
src/backend/parser/analyze.c
src/backend/parser/analyze.c
+2
-2
src/backend/storage/ipc/s_lock.c
src/backend/storage/ipc/s_lock.c
+14
-14
src/backend/utils/adt/date.c
src/backend/utils/adt/date.c
+7
-7
src/backend/utils/adt/datetime.c
src/backend/utils/adt/datetime.c
+9
-9
src/backend/utils/adt/dt.c
src/backend/utils/adt/dt.c
+143
-143
src/backend/utils/adt/geo_ops.c
src/backend/utils/adt/geo_ops.c
+72
-72
No files found.
src/backend/catalog/heap.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.2
3 1997/09/04 13:17:59 vadim
Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.2
4 1997/09/05 18:13:45 momjian
Exp $
*
* INTERFACE ROUTINES
* heap_creatr() - Create an uncataloged heap relation
...
...
@@ -262,7 +262,7 @@ heap_creatr(char *name,
sprintf
(
tempname
,
"temp_%d"
,
relid
);
relname
=
tempname
;
isTemp
=
1
;
}
;
}
}
/* ----------------
...
...
@@ -1403,7 +1403,7 @@ InitTempRelList(void)
if
(
tempRels
)
{
free
(
tempRels
->
rels
);
free
(
tempRels
);
}
;
}
tempRels
=
(
TempRelList
*
)
malloc
(
sizeof
(
TempRelList
));
tempRels
->
size
=
TEMP_REL_LIST_SIZE
;
...
...
src/backend/optimizer/plan/planner.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.
2 1996/10/31 10:59:15 scrappy
Exp $
* $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.
3 1997/09/05 18:10:32 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -384,7 +384,6 @@ pg_checkretval(Oid rettype, QueryTreeList *queryTreeList)
tletype = (Oid) ((Param*)thenode)->paramtype;
else if (IsA(thenode,Expr)) {
tletype = Expr
}
} else if (IsA(thenode,LispList)) {
thenode = lfirst(thenode);
if (IsA(thenode,Oper))
...
...
src/backend/optimizer/util/pathnode.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.
2 1997/03/18 18:40:40 scrappy
Exp $
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.
3 1997/09/05 18:10:36 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -218,7 +218,7 @@ create_seqscan_path(Rel *rel)
#if 0
if (XfuncMode != XFUNC_OFF) {
pathnode->path_cost +=
xfunc_get_path_cost(pathnode)
)
;
xfunc_get_path_cost(pathnode);
}
#endif
return
(
pathnode
);
...
...
src/backend/parser/analyze.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.3
6 1997/09/01 05:56:34 thomas
Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.3
7 1997/09/05 18:10:42 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -1353,7 +1353,7 @@ make_targetlist_expr(ParseState *pstate,
} else
if (attrtype != type_id) {
if ((attrtype == INT2OID) && (type_id == INT4OID))
lfirst(expr) = lispInteger (INT2OID);
do CASHOID too
lfirst(expr) = lispInteger (INT2OID);
/* handle CASHOID too*/
else if ((attrtype == FLOAT4OID) && (type_id == FLOAT8OID))
lfirst(expr) = lispInteger (FLOAT4OID);
else
...
...
src/backend/storage/ipc/s_lock.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/Attic/s_lock.c,v 1.2
0 1997/08/24 23:07:28
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/Attic/s_lock.c,v 1.2
1 1997/09/05 18:10:54
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -481,19 +481,19 @@ S_INIT_LOCK(slock_t *lock)
static
int
tas_dummy
()
{
__asm__
(
"
tas:
/* r3 points to the location of p */
lwarx 5,0,3
/* r5 = *p */
cmpwi 5,0
/* r5 == 0 ? */
bne fail
/* if not 0, jump to fail */
addi 5,5,1
/* set 1 to r5 */
stwcx. 5,0,3
/* try update p atomically */
beq success
/* jump if scceed */
fail: li 3,1
/* set 1 to r3 */
blr
success:
li 3,0
/* set 0 to r3 */
blr
__asm__
(
"
\n
\
tas:
\n
\
lwarx 5,0,3
\n
\
cmpwi 5,0
\n
\
bne fail
\n
\
addi 5,5,1
\n
\
stwcx. 5,0,3
\n
\
beq success
\n
\
fail: li 3,1
\n
\
blr
\n
\
success:
\n
\
li 3,0
\n
\
blr
\n
\
"
);
}
...
...
src/backend/utils/adt/date.c
View file @
a1635450
...
...
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.1
3 1997/08/19 21:34:30
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.1
4 1997/09/05 18:11:05
momjian Exp $
*
* NOTES
* This code is actually (almost) unused.
...
...
@@ -144,7 +144,7 @@ printf( "reltimein- %d fields are type %d (DTK_DATE=%d)\n", nf, dtype, DTK_DATE)
default:
return
(
INVALID_RELTIME
);
}
;
}
elog
(
WARN
,
"Bad reltime (internal coding error) '%s'"
,
str
);
return
(
INVALID_RELTIME
);
...
...
@@ -166,7 +166,7 @@ char *reltimeout(int32 time)
}
else
{
reltime2tm
(
time
,
tm
);
EncodeTimeSpan
(
tm
,
0
,
DateStyle
,
buf
);
}
;
}
result
=
PALLOC
(
strlen
(
buf
)
+
1
);
strcpy
(
result
,
buf
);
...
...
@@ -305,7 +305,7 @@ timespan_reltime(TimeSpan *timespan)
}
else
{
year
=
0
;
month
=
timespan
->
month
;
}
;
}
span
=
(((((
double
)
365
*
year
)
+
((
double
)
30
*
month
))
*
86400
)
+
timespan
->
time
);
...
...
@@ -315,7 +315,7 @@ printf( "timespan_reltime- convert m%d s%f to %f [%d %d]\n",
#endif
time
=
(((
span
>
INT_MIN
)
&&
(
span
<
INT_MAX
))
?
span
:
INVALID_RELTIME
);
}
;
}
return
(
time
);
}
/* timespan_reltime() */
...
...
@@ -341,7 +341,7 @@ reltime_timespan(RelativeTime reltime)
result
->
time
=
reltime
;
result
->
month
=
((
12
*
year
)
+
month
);
}
;
}
return
(
result
);
}
/* reltime_timespan() */
...
...
@@ -694,7 +694,7 @@ int isreltime(char *str)
default:
return
0
;
break
;
}
;
}
return
0
;
}
/* isreltime() */
...
...
src/backend/utils/adt/datetime.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.1
2 1997/08/28 05:06:29 vadim
Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.1
3 1997/09/05 18:11:10 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -95,7 +95,7 @@ printf( "date_in- input string is %s\n", str);
default:
elog
(
WARN
,
"Unrecognized date external representation %s"
,
str
);
}
;
}
if
(
tm
->
tm_year
<
0
||
tm
->
tm_year
>
32767
)
elog
(
WARN
,
"date_in: year must be limited to values 0 through 32767 in '%s'"
,
str
);
...
...
@@ -186,7 +186,7 @@ date_cmp(DateADT dateVal1, DateADT dateVal2)
return
-
1
;
}
else
if
(
dateVal1
>
dateVal2
)
{
return
1
;
}
;
}
return
0
;
}
/* date_cmp() */
...
...
@@ -281,7 +281,7 @@ datetime_date(DateTime *datetime)
}
else
{
if
(
datetime2tm
(
*
datetime
,
&
tz
,
tm
,
&
fsec
,
&
tzn
)
!=
0
)
elog
(
WARN
,
"Unable to convert datetime to date"
,
NULL
);
}
;
}
result
=
(
date2j
(
tm
->
tm_year
,
tm
->
tm_mon
,
tm
->
tm_mday
)
-
date2j
(
2000
,
1
,
1
));
...
...
@@ -319,7 +319,7 @@ abstime_date(AbsoluteTime abstime)
abstime2tm
(
abstime
,
&
tz
,
tm
,
NULL
);
result
=
date2j
(
tm
->
tm_year
,
tm
->
tm_mon
,
tm
->
tm_mday
)
-
date2j
(
2000
,
1
,
1
);
break
;
}
;
}
return
(
result
);
}
/* abstime_date() */
...
...
@@ -404,7 +404,7 @@ printf( "date2tm- convert %d-%d-%d %d:%d%d to datetime\n",
*
tzp
=
0
;
tm
->
tm_isdst
=
0
;
if
(
tzn
!=
NULL
)
*
tzn
=
NULL
;
}
;
}
return
0
;
}
/* date2tm() */
...
...
@@ -482,8 +482,8 @@ time_out(TimeADT *time)
sprintf
(
buf
,
"%02d:%02d:%02d"
,
hour
,
min
,
sec
);
}
else
{
sprintf
(
buf
,
"%02d:%02d:%05.2f"
,
hour
,
min
,
(
sec
+
fsec
));
}
;
}
;
}
}
#endif
result
=
PALLOC
(
strlen
(
buf
)
+
1
);
...
...
@@ -570,7 +570,7 @@ datetime_datetime(DateADT date, TimeADT *time)
}
else
{
result
=
date_datetime
(
date
);
*
result
+=
*
time
;
}
;
}
return
(
result
);
}
/* datetime_datetime() */
...
...
src/backend/utils/adt/dt.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.3
5 1997/09/04 18:43:21 thomas
Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.3
6 1997/09/05 18:11:12 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -54,13 +54,13 @@ static int tm2timespan(struct tm *tm, double fsec, TimeSpan *span);
#define isleap(y) (((y % 4) == 0) && (((y % 100) != 0) || ((y % 400) == 0)))
int
mdays
[]
=
{
31
,
28
,
31
,
30
,
31
,
30
,
31
,
31
,
30
,
31
,
30
,
31
,
0
}
;
int
mdays
[]
=
{
31
,
28
,
31
,
30
,
31
,
30
,
31
,
31
,
30
,
31
,
30
,
31
,
0
}
char
*
months
[]
=
{
"Jan"
,
"Feb"
,
"Mar"
,
"Apr"
,
"May"
,
"Jun"
,
"Jul"
,
"Aug"
,
"Sep"
,
"Oct"
,
"Nov"
,
"Dec"
,
NULL
}
;
"Jul"
,
"Aug"
,
"Sep"
,
"Oct"
,
"Nov"
,
"Dec"
,
NULL
}
char
*
days
[]
=
{
"Sunday"
,
"Monday"
,
"Tuesday"
,
"Wednesday"
,
"Thursday"
,
"Friday"
,
"Saturday"
,
NULL
}
;
"Thursday"
,
"Friday"
,
"Saturday"
,
NULL
}
/* TMODULO()
* Macro to replace modf(), which is broken on some platforms.
...
...
@@ -148,7 +148,7 @@ printf( "datetime_in- date is %f\n", *result);
default:
elog
(
WARN
,
"Internal coding error, can't input datetime '%s'"
,
str
);
}
;
}
return
(
result
);
}
/* datetime_in() */
...
...
@@ -177,7 +177,7 @@ datetime_out(DateTime *dt)
}
else
{
EncodeSpecialDateTime
(
DT_INVALID
,
buf
);
}
;
}
result
=
PALLOC
(
strlen
(
buf
)
+
1
);
...
...
@@ -230,12 +230,12 @@ timespan_in(char *str)
TIMESPAN_INVALID
(
span
);
#endif
elog
(
WARN
,
"Bad timespan external representation %s"
,
str
);
}
;
}
break
;
default:
elog
(
WARN
,
"Internal coding error, can't input timespan '%s'"
,
str
);
}
;
}
return
(
span
);
}
/* timespan_in() */
...
...
@@ -342,7 +342,7 @@ printf( "SetDateTime- current time is %f\n", dt);
#ifdef DATEDEBUG
printf
(
"SetDateTime- epoch time is %f
\n
"
,
dt
);
#endif
}
;
}
return
(
dt
);
}
/* SetDateTime() */
...
...
@@ -496,7 +496,7 @@ datetime_cmp(DateTime *datetime1, DateTime *datetime2)
}
else
{
if
(
DATETIME_IS_RELATIVE
(
dt1
))
dt1
=
SetDateTime
(
dt1
);
if
(
DATETIME_IS_RELATIVE
(
dt2
))
dt2
=
SetDateTime
(
dt2
);
}
;
}
return
(
((
dt1
<
dt2
)
?
-
1
:
((
dt1
>
dt2
)
?
1
:
0
)));
}
/* datetime_cmp() */
...
...
@@ -622,7 +622,7 @@ timespan_cmp(TimeSpan *timespan1, TimeSpan *timespan2)
}
else
if
(
TIMESPAN_IS_INVALID
(
*
timespan2
))
{
return
(
-
1
);
}
;
}
span1
=
timespan1
->
time
;
if
(
timespan1
->
month
!=
0
)
span1
+=
(
timespan1
->
month
*
(
30
.
0
*
86400
));
...
...
@@ -665,7 +665,7 @@ datetime_smaller(DateTime *datetime1, DateTime *datetime2)
*
result
=
dt1
;
}
else
{
*
result
=
((
dt2
<
dt1
)
?
dt2
:
dt1
);
}
;
}
return
(
result
);
}
/* datetime_smaller() */
...
...
@@ -694,7 +694,7 @@ datetime_larger(DateTime *datetime1, DateTime *datetime2)
*
result
=
dt1
;
}
else
{
*
result
=
((
dt2
>
dt1
)
?
dt2
:
dt1
);
}
;
}
return
(
result
);
}
/* datetime_larger() */
...
...
@@ -728,7 +728,7 @@ printf( "datetime_mi- evaluate %f - %f\n", dt1, dt2);
}
else
{
result
->
time
=
JROUND
(
dt1
-
dt2
);
}
;
}
result
->
month
=
0
;
return
(
result
);
...
...
@@ -791,7 +791,7 @@ printf( "datetime_pl_span- date was %04d-%02d-%02d %02d:%02d:%02d\n",
}
else
if
(
tm
->
tm_mon
<
1
)
{
tm
->
tm_year
+=
((
tm
->
tm_mon
/
12
)
-
1
);
tm
->
tm_mon
=
((
tm
->
tm_mon
%
12
)
+
12
);
}
;
}
/* adjust for end of month boundary problems... */
if
(
tm
->
tm_mday
>
mdays
[
tm
->
tm_mon
-
1
])
{
...
...
@@ -799,8 +799,8 @@ printf( "datetime_pl_span- date was %04d-%02d-%02d %02d:%02d:%02d\n",
tm
->
tm_mday
=
(
mdays
[
tm
->
tm_mon
-
1
]
+
1
);
}
else
{
tm
->
tm_mday
=
mdays
[
tm
->
tm_mon
-
1
];
}
;
}
;
}
}
#ifdef DATEDEBUG
printf
(
"datetime_pl_span- date becomes %04d-%02d-%02d %02d:%02d:%02d
\n
"
,
...
...
@@ -811,11 +811,11 @@ printf( "datetime_pl_span- date becomes %04d-%02d-%02d %02d:%02d:%02d\n",
}
else
{
DATETIME_INVALID
(
dt
);
}
;
}
;
}
}
*
result
=
dt
;
}
;
}
return
(
result
);
}
/* datetime_pl_span() */
...
...
@@ -893,8 +893,8 @@ printf( "timespan_smaller- months %d %d times %f %f spans %f %f\n",
}
else
{
result
->
time
=
timespan1
->
time
;
result
->
month
=
timespan1
->
month
;
}
;
}
;
}
}
return
(
result
);
}
/* timespan_smaller() */
...
...
@@ -937,8 +937,8 @@ printf( "timespan_larger- months %d %d times %f %f spans %f %f\n",
}
else
{
result
->
time
=
timespan1
->
time
;
result
->
month
=
timespan1
->
month
;
}
;
}
;
}
}
return
(
result
);
}
/* timespan_larger() */
...
...
@@ -1047,22 +1047,22 @@ datetime_age(DateTime *datetime1, DateTime *datetime2)
tm
->
tm_mday
=
-
tm
->
tm_mday
;
tm
->
tm_mon
=
-
tm
->
tm_mon
;
tm
->
tm_year
=
-
tm
->
tm_year
;
}
;
}
if
(
tm
->
tm_sec
<
0
)
{
tm
->
tm_sec
+=
60
;
tm
->
tm_min
--
;
}
;
}
if
(
tm
->
tm_min
<
0
)
{
tm
->
tm_min
+=
60
;
tm
->
tm_hour
--
;
}
;
}
if
(
tm
->
tm_hour
<
0
)
{
tm
->
tm_hour
+=
24
;
tm
->
tm_mday
--
;
}
;
}
if
(
tm
->
tm_mday
<
0
)
{
if
(
dt1
<
dt2
)
{
...
...
@@ -1073,13 +1073,13 @@ datetime_age(DateTime *datetime1, DateTime *datetime2)
tm
->
tm_mday
+=
mdays
[
tm2
->
tm_mon
-
1
];
if
(
isleap
(
tm2
->
tm_year
)
&&
(
tm2
->
tm_mon
==
2
))
tm
->
tm_mday
++
;
tm
->
tm_mon
--
;
}
;
}
;
}
}
if
(
tm
->
tm_mon
<
0
)
{
tm
->
tm_mon
+=
12
;
tm
->
tm_year
--
;
}
;
}
/* recover sign if necessary... */
if
(
dt1
<
dt2
)
{
...
...
@@ -1090,11 +1090,11 @@ datetime_age(DateTime *datetime1, DateTime *datetime2)
tm
->
tm_mday
=
-
tm
->
tm_mday
;
tm
->
tm_mon
=
-
tm
->
tm_mon
;
tm
->
tm_year
=
-
tm
->
tm_year
;
}
;
}
if
(
tm2timespan
(
tm
,
fsec
,
result
)
!=
0
)
{
elog
(
WARN
,
"Unable to decode datetime"
,
NULL
);
}
;
}
#if FALSE
result
->
time
=
(
fsec2
-
fsec1
);
...
...
@@ -1109,7 +1109,7 @@ datetime_age(DateTime *datetime1, DateTime *datetime2)
}
else
{
elog
(
WARN
,
"Unable to decode datetime"
,
NULL
);
}
;
}
return
(
result
);
}
/* datetime_age() */
...
...
@@ -1266,7 +1266,7 @@ datetime_trunc(text *units, DateTime *datetime)
#if FALSE
if
(
type
==
IGNORE
)
{
type
=
DecodeSpecial
(
0
,
lowunits
,
&
val
);
}
;
}
#endif
#ifdef DATEDEBUG
...
...
@@ -1319,7 +1319,7 @@ printf( "datetime_trunc- units %s type=%d value=%d\n", lowunits, type, val);
default:
elog
(
WARN
,
"Datetime units %s not supported"
,
lowunits
);
result
=
NULL
;
}
;
}
if
(
IS_VALID_UTIME
(
tm
->
tm_year
,
tm
->
tm_mon
,
tm
->
tm_mday
))
{
#ifdef USE_POSIX_TIME
...
...
@@ -1344,7 +1344,7 @@ printf( "datetime_trunc- units %s type=%d value=%d\n", lowunits, type, val);
}
else
{
tm
->
tm_isdst
=
0
;
tz
=
0
;
}
;
}
if
(
tm2datetime
(
tm
,
fsec
,
&
tz
,
result
)
!=
0
)
elog
(
WARN
,
"Unable to truncate datetime to %s"
,
lowunits
);
...
...
@@ -1358,8 +1358,8 @@ printf( "datetime_trunc- units %s type=%d value=%d\n", lowunits, type, val);
}
else
{
elog
(
WARN
,
"Datetime units %s not recognized"
,
lowunits
);
result
=
NULL
;
}
;
}
;
}
}
return
(
result
);
}
/* datetime_trunc() */
...
...
@@ -1392,7 +1392,7 @@ timespan_trunc(text *units, TimeSpan *timespan)
#if FALSE
if
(
type
==
IGNORE
)
{
type
=
DecodeSpecial
(
0
,
lowunits
,
&
val
);
}
;
}
#endif
#ifdef DATEDEBUG
...
...
@@ -1443,7 +1443,7 @@ printf( "timespan_trunc- units %s type=%d value=%d\n", lowunits, type, val);
default:
elog
(
WARN
,
"Timespan units %s not supported"
,
lowunits
);
result
=
NULL
;
}
;
}
if
(
tm2timespan
(
tm
,
fsec
,
result
)
!=
0
)
elog
(
WARN
,
"Unable to truncate timespan to %s"
,
lowunits
);
...
...
@@ -1451,7 +1451,7 @@ printf( "timespan_trunc- units %s type=%d value=%d\n", lowunits, type, val);
}
else
{
elog
(
NOTICE
,
"Timespan out of range"
,
NULL
);
result
=
NULL
;
}
;
}
#if FALSE
}
else
if
((
type
==
RESERV
)
&&
(
val
==
DTK_EPOCH
))
{
...
...
@@ -1459,13 +1459,13 @@ printf( "timespan_trunc- units %s type=%d value=%d\n", lowunits, type, val);
if
(
timespan
->
month
!=
0
)
{
*
result
+=
((
365
.
25
*
86400
)
*
(
timespan
->
month
/
12
));
*
result
+=
((
30
*
86400
)
*
(
timespan
->
month
%
12
));
}
;
}
#endif
}
else
{
elog
(
WARN
,
"Timespan units %s not recognized"
,
units
);
result
=
NULL
;
}
;
}
return
(
result
);
}
/* timespan_trunc() */
...
...
@@ -1501,7 +1501,7 @@ datetime_part(text *units, DateTime *datetime)
type
=
DecodeUnits
(
0
,
lowunits
,
&
val
);
if
(
type
==
IGNORE
)
{
type
=
DecodeSpecial
(
0
,
lowunits
,
&
val
);
}
;
}
#ifdef DATEDEBUG
if
(
type
==
IGNORE
)
strcpy
(
lowunits
,
"(unknown)"
);
...
...
@@ -1575,7 +1575,7 @@ printf( "datetime_part- units %s type=%d value=%d\n", lowunits, type, val);
default:
elog
(
WARN
,
"Datetime units %s not supported"
,
lowunits
);
*
result
=
0
;
}
;
}
}
else
if
(
type
==
RESERV
)
{
switch
(
val
)
{
...
...
@@ -1594,13 +1594,13 @@ printf( "datetime_part- units %s type=%d value=%d\n", lowunits, type, val);
default:
elog
(
WARN
,
"Datetime units %s not supported"
,
lowunits
);
*
result
=
0
;
}
;
}
}
else
{
elog
(
WARN
,
"Datetime units %s not recognized"
,
lowunits
);
*
result
=
0
;
}
;
}
;
}
}
return
(
result
);
}
/* datetime_part() */
...
...
@@ -1633,7 +1633,7 @@ timespan_part(text *units, TimeSpan *timespan)
type
=
DecodeUnits
(
0
,
lowunits
,
&
val
);
if
(
type
==
IGNORE
)
{
type
=
DecodeSpecial
(
0
,
lowunits
,
&
val
);
}
;
}
#ifdef DATEDEBUG
if
(
type
==
IGNORE
)
strcpy
(
lowunits
,
"(unknown)"
);
...
...
@@ -1701,24 +1701,24 @@ printf( "timespan_part- units %s type=%d value=%d\n", lowunits, type, val);
default:
elog
(
WARN
,
"Timespan units %s not yet supported"
,
units
);
result
=
NULL
;
}
;
}
}
else
{
elog
(
NOTICE
,
"Timespan out of range"
,
NULL
);
*
result
=
0
;
}
;
}
}
else
if
((
type
==
RESERV
)
&&
(
val
==
DTK_EPOCH
))
{
*
result
=
timespan
->
time
;
if
(
timespan
->
month
!=
0
)
{
*
result
+=
((
365
.
25
*
86400
)
*
(
timespan
->
month
/
12
));
*
result
+=
((
30
*
86400
)
*
(
timespan
->
month
%
12
));
}
;
}
}
else
{
elog
(
WARN
,
"Timespan units %s not recognized"
,
units
);
*
result
=
0
;
}
;
}
return
(
result
);
}
/* timespan_part() */
...
...
@@ -1791,7 +1791,7 @@ printf( "datetime_zone- zone %s type=%d value=%d\n", lowzone, type, val);
}
else
{
elog
(
WARN
,
"Time zone %s not recognized"
,
lowzone
);
result
=
NULL
;
}
;
}
return
(
result
);
}
/* datetime_zone() */
...
...
@@ -1961,7 +1961,7 @@ static datetkn datetktbl[] = {
{
"zp6"
,
TZ
,
NEG
(
36
)},
/* GMT +6 hours. */
{
"z"
,
RESERV
,
DTK_ZULU
},
/* 00:00:00 */
{
ZULU
,
RESERV
,
DTK_ZULU
},
/* 00:00:00 */
}
;
}
static
unsigned
int
szdatetktbl
=
sizeof
datetktbl
/
sizeof
datetktbl
[
0
];
...
...
@@ -2031,14 +2031,14 @@ static datetkn deltatktbl[] = {
{
"years"
,
UNITS
,
DTK_YEAR
},
/* "years" relative time units */
{
"yr"
,
UNITS
,
DTK_YEAR
},
/* "year" relative time units */
{
"yrs"
,
UNITS
,
DTK_YEAR
},
/* "years" relative time units */
}
;
}
static
unsigned
int
szdeltatktbl
=
sizeof
deltatktbl
/
sizeof
deltatktbl
[
0
];
#if USE_DATE_CACHE
datetkn
*
datecache
[
MAXDATEFIELDS
]
=
{
NULL
}
;
datetkn
*
datecache
[
MAXDATEFIELDS
]
=
{
NULL
}
datetkn
*
deltacache
[
MAXDATEFIELDS
]
=
{
NULL
}
;
datetkn
*
deltacache
[
MAXDATEFIELDS
]
=
{
NULL
}
#endif
...
...
@@ -2143,7 +2143,7 @@ datetime2tm( DateTime dt, int *tzp, struct tm *tm, double *fsec, char **tzn)
if
(
time
<
0
)
{
time
+=
86400
;
date
-=
1
;
}
;
}
/* Julian day routine does not work for negative Julian days */
if
(
date
<
-
date0
)
...
...
@@ -2230,14 +2230,14 @@ printf( "datetime2tm- (localtime) %d.%02d.%02d %02d:%02d:%02.0f %s dst=%d\n",
*
tzp
=
0
;
tm
->
tm_isdst
=
0
;
if
(
tzn
!=
NULL
)
*
tzn
=
NULL
;
}
;
}
dt
=
dt2local
(
dt
,
*
tzp
);
}
else
{
tm
->
tm_isdst
=
0
;
if
(
tzn
!=
NULL
)
*
tzn
=
NULL
;
}
;
}
#ifdef DATEDEBUG
printf
(
"datetime2tm- date is %d.%02d.%02d
\n
"
,
tm
->
tm_year
,
tm
->
tm_mon
,
tm
->
tm_mday
);
...
...
@@ -2299,7 +2299,7 @@ timespan2tm(TimeSpan span, struct tm *tm, float8 *fsec)
}
else
{
tm
->
tm_year
=
0
;
tm
->
tm_mon
=
0
;
}
;
}
#ifdef ROUND_ALL
time
=
JROUND
(
span
.
time
);
...
...
@@ -2411,7 +2411,7 @@ printf( "ParseDateTime- input string is %s\n", timestr);
/* otherwise, number only and will determine year, month, or day later */
}
else
{
ftype
[
nf
]
=
DTK_NUMBER
;
}
;
}
/* text? then date string, month, day of week, special, or timezone */
}
else
if
(
isalpha
(
*
cp
))
{
...
...
@@ -2424,7 +2424,7 @@ printf( "ParseDateTime- input string is %s\n", timestr);
ftype
[
nf
]
=
DTK_DATE
;
while
(
isdigit
(
*
cp
)
||
(
*
cp
==
'-'
)
||
(
*
cp
==
'/'
)
||
(
*
cp
==
'.'
))
*
lp
++
=
tolower
(
*
cp
++
);
}
;
}
/* skip leading spaces */
}
else
if
(
isspace
(
*
cp
))
{
...
...
@@ -2451,7 +2451,7 @@ printf( "ParseDateTime- input string is %s\n", timestr);
/* otherwise something wrong... */
}
else
{
return
-
1
;
}
;
}
/* ignore punctuation but use as delimiter */
}
else
if
(
ispunct
(
*
cp
))
{
...
...
@@ -2460,18 +2460,18 @@ printf( "ParseDateTime- input string is %s\n", timestr);
}
else
{
return
-
1
;
}
;
}
/* force in a delimiter */
*
lp
++
=
'\0'
;
nf
++
;
if
(
nf
>
MAXDATEFIELDS
)
{
return
-
1
;
}
;
}
#ifdef DATEDEBUG
printf
(
"ParseDateTime- set field[%d] to %s type %d
\n
"
,
(
nf
-
1
),
field
[
nf
-
1
],
ftype
[
nf
-
1
]);
#endif
}
;
}
*
numfields
=
nf
;
...
...
@@ -2547,7 +2547,7 @@ printf( "DecodeDateTime- field[%d] is %s (type %d)\n", i, field[i], ftype[i]);
}
else
{
if
(
DecodeNumber
(
flen
,
field
[
i
],
fmask
,
&
tmask
,
tm
,
fsec
)
!=
0
)
return
-
1
;
}
;
}
break
;
case
DTK_STRING
:
...
...
@@ -2614,7 +2614,7 @@ printf( "DecodeDateTime- RESERV field %s value is %d\n", field[i], val);
default:
*
dtype
=
val
;
}
;
}
break
;
...
...
@@ -2664,12 +2664,12 @@ printf( "DecodeDateTime- month field %s value is %d\n", field[i], val);
default:
return
-
1
;
}
;
}
break
;
default:
return
-
1
;
}
;
}
#ifdef DATEDEBUG
printf
(
"DecodeDateTime- field[%d] %s (%08x/%08x) value is %d
\n
"
,
...
...
@@ -2678,7 +2678,7 @@ printf( "DecodeDateTime- field[%d] %s (%08x/%08x) value is %d\n",
if
(
tmask
&
fmask
)
return
-
1
;
fmask
|=
tmask
;
}
;
}
/* there is no year zero in AD/BC notation; i.e. "1 BC" == year 0 */
if
(
bc
)
tm
->
tm_year
=
-
(
tm
->
tm_year
-
1
);
...
...
@@ -2725,8 +2725,8 @@ printf( " %02d:%02d:%02d\n", tm->tm_hour, tm->tm_min, tm->tm_sec);
}
else
{
tm
->
tm_isdst
=
0
;
*
tzp
=
0
;
}
;
}
;
}
}
return
0
;
}
/* DecodeDateTime() */
...
...
@@ -2799,7 +2799,7 @@ printf( "DecodeTimeOnly- RESERV field %s value is %d\n", field[i], val);
default:
return
-
1
;
}
;
}
break
;
...
...
@@ -2812,12 +2812,12 @@ printf( "DecodeTimeOnly- RESERV field %s value is %d\n", field[i], val);
default:
return
-
1
;
}
;
}
break
;
default:
return
-
1
;
}
;
}
if
(
tmask
&
fmask
)
return
-
1
;
fmask
|=
tmask
;
...
...
@@ -2825,7 +2825,7 @@ printf( "DecodeTimeOnly- RESERV field %s value is %d\n", field[i], val);
#ifdef DATEDEBUG
printf
(
"DecodeTimeOnly- field[%d] %s value is %d
\n
"
,
i
,
field
[
i
],
val
);
#endif
}
;
}
#ifdef DATEDEBUG
printf
(
"DecodeTimeOnly- mask %08x (%08x)"
,
fmask
,
DTK_TIME_M
);
...
...
@@ -2867,11 +2867,11 @@ DecodeDate(char *str, int fmask, int *tmask, struct tm *tm)
while
(
isdigit
(
*
str
))
str
++
;
}
else
if
(
isalpha
(
*
str
))
{
while
(
isalpha
(
*
str
))
str
++
;
}
;
}
if
(
*
str
!=
'\0'
)
*
str
++
=
'\0'
;
nf
++
;
}
;
}
/* don't allow too many fields */
if
(
nf
>
3
)
return
-
1
;
...
...
@@ -2898,7 +2898,7 @@ printf( "DecodeDate- month field %s value is %d\n", field[i], val);
printf
(
"DecodeDate- illegal field %s value is %d
\n
"
,
field
[
i
],
val
);
#endif
return
-
1
;
}
;
}
if
(
fmask
&
dmask
)
return
-
1
;
fmask
|=
dmask
;
...
...
@@ -2906,8 +2906,8 @@ printf( "DecodeDate- illegal field %s value is %d\n", field[i], val);
/* mark this field as being completed */
field
[
i
]
=
NULL
;
}
;
}
;
}
}
/* now pick up remaining numeric fields */
for
(
i
=
0
;
i
<
nf
;
i
++
)
{
...
...
@@ -2923,7 +2923,7 @@ printf( "DecodeDate- illegal field %s value is %d\n", field[i], val);
fmask
|=
dmask
;
*
tmask
|=
dmask
;
}
;
}
return
0
;
}
/* DecodeDate() */
...
...
@@ -2963,8 +2963,8 @@ DecodeTime(char *str, int fmask, int *tmask, struct tm *tm, double *fsec)
if
(
cp
==
str
)
return
-
1
;
}
else
{
return
-
1
;
}
;
}
;
}
}
/* do a sanity check */
if
((
tm
->
tm_hour
<
0
)
...
...
@@ -2991,7 +2991,7 @@ DecodeNumber( int flen, char *str, int fmask, int *tmask, struct tm *tm, double
if
(
*
cp
==
'.'
)
{
*
fsec
=
strtod
(
cp
,
&
cp
);
if
(
*
cp
!=
'\0'
)
return
-
1
;
}
;
}
#ifdef DATEDEBUG
printf
(
"DecodeNumber- %s is %d fmask=%08x tmask=%08x
\n
"
,
str
,
val
,
fmask
,
*
tmask
);
...
...
@@ -3013,8 +3013,8 @@ printf( "DecodeNumber- misidentified year previously; swap with day %d\n", tm->t
#endif
tm
->
tm_mday
=
tm
->
tm_year
;
*
tmask
=
DTK_M
(
DAY
);
}
;
}
;
}
}
tm
->
tm_year
=
val
;
...
...
@@ -3071,11 +3071,11 @@ printf( "DecodeNumber- (2) match %d (%s) as year\n", val, str);
tm
->
tm_year
+=
2000
;
}
else
if
(
tm
->
tm_year
<
100
)
{
tm
->
tm_year
+=
1900
;
}
;
}
}
else
{
return
-
1
;
}
;
}
return
0
;
}
/* DecodeNumber() */
...
...
@@ -3129,7 +3129,7 @@ printf( "DecodeNumberField- %s is date field fmask=%08x tmask=%08x\n", str, fmas
tm
->
tm_mon
=
atoi
(
str
+
2
);
*
(
str
+
2
)
=
'\0'
;
tm
->
tm_year
=
atoi
(
str
+
0
);
}
;
}
}
else
if
(
strchr
(
str
,
'.'
)
!=
NULL
)
{
#ifdef DATEDEBUG
...
...
@@ -3140,7 +3140,7 @@ printf( "DecodeNumberField- %s is time field fmask=%08x tmask=%08x\n", str, fmas
if
(
cp
==
(
str
+
4
))
return
-
1
;
if
(
*
cp
==
'.'
)
{
*
fsec
=
strtod
(
cp
,
NULL
);
}
;
}
*
(
str
+
4
)
=
'\0'
;
tm
->
tm_min
=
strtod
(
(
str
+
2
),
&
cp
);
*
(
str
+
2
)
=
'\0'
;
...
...
@@ -3148,7 +3148,7 @@ printf( "DecodeNumberField- %s is time field fmask=%08x tmask=%08x\n", str, fmas
}
else
{
return
-
1
;
}
;
}
return
0
;
}
/* DecodeNumberField() */
...
...
@@ -3180,7 +3180,7 @@ DecodeTimezone( char *str, int *tzp)
}
else
{
min
=
0
;
}
;
}
tz
=
(
hr
*
60
+
min
)
*
60
;
if
(
*
str
==
'-'
)
tz
=
-
tz
;
...
...
@@ -3209,7 +3209,7 @@ DecodeSpecial(int field, char *lowtoken, int *val)
#endif
tp
=
datebsearch
(
lowtoken
,
datetktbl
,
szdatetktbl
);
#if USE_DATE_CACHE
}
;
}
datecache
[
field
]
=
tp
;
#endif
if
(
tp
==
NULL
)
{
...
...
@@ -3227,8 +3227,8 @@ DecodeSpecial(int field, char *lowtoken, int *val)
default:
*
val
=
tp
->
value
;
break
;
}
;
}
;
}
}
return
(
type
);
}
/* DecodeSpecial() */
...
...
@@ -3278,8 +3278,8 @@ printf( "DecodeDateDelta- field[%d] is %s (type %d)\n", ii, field[ii], ftype[ii]
}
else
{
break
;
}
;
}
;
}
}
/* read through remaining list backwards to pick up units before values */
for
(
i
=
nf
-
1
;
i
>=
ii
;
i
--
)
{
...
...
@@ -3308,7 +3308,7 @@ printf( "DecodeDateDelta- field[%d] is %s (type %d)\n", i, field[i], ftype[i]);
if
(
*
cp
==
'.'
)
{
*
fsec
=
strtod
(
cp
,
NULL
);
if
(
val
<
0
)
*
fsec
=
-
(
*
fsec
);
}
;
}
flen
=
strlen
(
field
[
i
]);
tmask
=
0
;
/* DTK_M(type); */
...
...
@@ -3373,7 +3373,7 @@ printf( "DecodeDateDelta- field[%d] is %s (type %d)\n", i, field[i], ftype[i]);
default:
return
-
1
;
}
;
}
break
;
case
DTK_STRING
:
...
...
@@ -3405,12 +3405,12 @@ printf( "DecodeDateDelta- UNITS field %s value is %d\n", field[i], val);
default:
return
-
1
;
}
;
}
break
;
default:
return
-
1
;
}
;
}
#ifdef DATEDEBUG
printf
(
"DecodeDateDelta- (%08x/%08x) field[%d] %s value is %d
\n
"
,
...
...
@@ -3419,12 +3419,12 @@ printf( "DecodeDateDelta- (%08x/%08x) field[%d] %s value is %d\n",
if
(
tmask
&
fmask
)
return
-
1
;
fmask
|=
tmask
;
}
;
}
if
(
*
fsec
!=
0
)
{
TMODULO
(
*
fsec
,
sec
,
1
);
tm
->
tm_sec
+=
sec
;
}
;
}
if
(
is_before
)
{
*
fsec
=
-
(
*
fsec
);
...
...
@@ -3434,7 +3434,7 @@ printf( "DecodeDateDelta- (%08x/%08x) field[%d] %s value is %d\n",
tm
->
tm_mday
=
-
(
tm
->
tm_mday
);
tm
->
tm_mon
=
-
(
tm
->
tm_mon
);
tm
->
tm_year
=
-
(
tm
->
tm_year
);
}
;
}
#ifdef DATEDEBUG
printf
(
"DecodeDateDelta- mask %08x (%08x)"
,
fmask
,
DTK_DATE_M
);
...
...
@@ -3465,7 +3465,7 @@ DecodeUnits(int field, char *lowtoken, int *val)
#endif
tp
=
datebsearch
(
lowtoken
,
deltatktbl
,
szdeltatktbl
);
#if USE_DATE_CACHE
}
;
}
deltacache
[
field
]
=
tp
;
#endif
if
(
tp
==
NULL
)
{
...
...
@@ -3477,8 +3477,8 @@ DecodeUnits(int field, char *lowtoken, int *val)
*
val
=
FROMVAL
(
tp
);
}
else
{
*
val
=
tp
->
value
;
}
;
}
;
}
}
return
(
type
);
}
/* DecodeUnits() */
...
...
@@ -3538,9 +3538,9 @@ EncodeSpecialDateTime(DateTime dt, char *str)
printf
(
"EncodeSpecialDateTime- unrecognized date
\n
"
);
#endif
strcpy
(
str
,
INVALID
);
}
;
}
return
(
TRUE
);
}
;
}
return
(
FALSE
);
}
/* EncodeSpecialDateTime() */
...
...
@@ -3567,7 +3567,7 @@ int EncodeDateOnly(struct tm *tm, int style, char *str)
}
else
{
sprintf
(
str
,
"%04d-%02d-%02d %s"
,
-
(
tm
->
tm_year
-
1
),
tm
->
tm_mon
,
tm
->
tm_mday
,
"BC"
);
}
;
}
/* compatible with Oracle/Ingres date formats */
}
else
if
(
style
==
USE_SQL_DATES
)
{
...
...
@@ -3575,13 +3575,13 @@ int EncodeDateOnly(struct tm *tm, int style, char *str)
sprintf
(
str
,
"%02d/%02d"
,
tm
->
tm_mday
,
tm
->
tm_mon
);
}
else
{
sprintf
(
str
,
"%02d/%02d"
,
tm
->
tm_mon
,
tm
->
tm_mday
);
}
;
}
if
(
tm
->
tm_year
>
0
)
{
sprintf
(
(
str
+
5
),
"/%04d"
,
tm
->
tm_year
);
}
else
{
sprintf
(
(
str
+
5
),
"/%04d %s"
,
-
(
tm
->
tm_year
-
1
),
"BC"
);
}
;
}
/* backward-compatible with traditional Postgres abstime dates */
}
else
{
/* if (style == USE_POSTGRES_DATES) */
...
...
@@ -3600,13 +3600,13 @@ printf( "EncodeDateOnly- day is %d\n", day);
sprintf
(
(
str
+
4
),
"%02d %3s"
,
tm
->
tm_mday
,
months
[
tm
->
tm_mon
-
1
]);
}
else
{
sprintf
(
(
str
+
4
),
"%3s %02d"
,
months
[
tm
->
tm_mon
-
1
],
tm
->
tm_mday
);
}
;
}
if
(
tm
->
tm_year
>
0
)
{
sprintf
(
(
str
+
10
),
" %04d"
,
tm
->
tm_year
);
}
else
{
sprintf
(
(
str
+
10
),
" %04d %s"
,
-
(
tm
->
tm_year
-
1
),
"BC"
);
}
;
}
#endif
/* traditional date-only style for Postgres */
...
...
@@ -3614,14 +3614,14 @@ printf( "EncodeDateOnly- day is %d\n", day);
sprintf
(
str
,
"%02d-%02d"
,
tm
->
tm_mday
,
tm
->
tm_mon
);
}
else
{
sprintf
(
str
,
"%02d-%02d"
,
tm
->
tm_mon
,
tm
->
tm_mday
);
}
;
}
if
(
tm
->
tm_year
>
0
)
{
sprintf
(
(
str
+
5
),
"-%04d"
,
tm
->
tm_year
);
}
else
{
sprintf
(
(
str
+
5
),
"-%04d %s"
,
-
(
tm
->
tm_year
-
1
),
"BC"
);
}
;
}
;
}
}
#ifdef DATEDEBUG
printf
(
"EncodeDateOnly- date result is %s
\n
"
,
str
);
...
...
@@ -3696,9 +3696,9 @@ printf( "EncodeDateTime- timezone is %s (%s); offset is %d; daylight is %d\n",
}
else
{
hour
=
0
;
min
=
0
;
}
;
}
sprintf
(
(
str
+
strlen
(
str
)),
((
min
!=
0
)
?
"%+03d:%02d"
:
"%+03d"
),
hour
,
min
);
}
;
}
}
else
{
if
(
tm
->
tm_hour
||
tm
->
tm_min
)
{
...
...
@@ -3707,8 +3707,8 @@ printf( "EncodeDateTime- timezone is %s (%s); offset is %d; daylight is %d\n",
}
else
{
sprintf
(
str
,
"%04d-%02d-%02d %s"
,
-
(
tm
->
tm_year
-
1
),
tm
->
tm_mon
,
tm
->
tm_mday
,
"BC"
);
}
;
}
;
}
}
/* compatible with Oracle/Ingres date formats */
}
else
if
(
style
==
USE_SQL_DATES
)
{
...
...
@@ -3716,7 +3716,7 @@ printf( "EncodeDateTime- timezone is %s (%s); offset is %d; daylight is %d\n",
sprintf
(
str
,
"%02d/%02d"
,
tm
->
tm_mday
,
tm
->
tm_mon
);
}
else
{
sprintf
(
str
,
"%02d/%02d"
,
tm
->
tm_mon
,
tm
->
tm_mday
);
}
;
}
if
(
tm
->
tm_year
>
0
)
{
sprintf
(
(
str
+
5
),
"/%04d %02d:%02d:%05.2f"
,
tm
->
tm_year
,
tm
->
tm_hour
,
tm
->
tm_min
,
sec
);
...
...
@@ -3724,12 +3724,12 @@ printf( "EncodeDateTime- timezone is %s (%s); offset is %d; daylight is %d\n",
if
((
*
tzn
!=
NULL
)
&&
(
tm
->
tm_isdst
>=
0
))
{
strcpy
(
(
str
+
22
),
" "
);
strcpy
(
(
str
+
23
),
*
tzn
);
}
;
}
}
else
{
sprintf
(
(
str
+
5
),
"/%04d %02d:%02d %s"
,
-
(
tm
->
tm_year
-
1
),
tm
->
tm_hour
,
tm
->
tm_min
,
"BC"
);
}
;
}
/* backward-compatible with traditional Postgres abstime dates */
}
else
{
/* if (style == USE_POSTGRES_DATES) */
...
...
@@ -3746,7 +3746,7 @@ printf( "EncodeDateTime- day is %d\n", day);
sprintf
(
(
str
+
4
),
"%02d %3s"
,
tm
->
tm_mday
,
months
[
tm
->
tm_mon
-
1
]);
}
else
{
sprintf
(
(
str
+
4
),
"%3s %02d"
,
months
[
tm
->
tm_mon
-
1
],
tm
->
tm_mday
);
}
;
}
if
(
tm
->
tm_year
>
0
)
{
sprintf
(
(
str
+
10
),
" %02d:%02d"
,
tm
->
tm_hour
,
tm
->
tm_min
);
if
(
fsec
!=
0
)
{
...
...
@@ -3754,20 +3754,20 @@ printf( "EncodeDateTime- day is %d\n", day);
if
((
*
tzn
!=
NULL
)
&&
(
tm
->
tm_isdst
>=
0
))
{
strcpy
(
(
str
+
27
),
" "
);
strcpy
(
(
str
+
28
),
*
tzn
);
}
;
}
}
else
{
sprintf
(
(
str
+
16
),
":%02.0f %04d"
,
sec
,
tm
->
tm_year
);
if
((
*
tzn
!=
NULL
)
&&
(
tm
->
tm_isdst
>=
0
))
{
strcpy
(
(
str
+
24
),
" "
);
strcpy
(
(
str
+
25
),
*
tzn
);
}
;
}
;
}
}
}
else
{
sprintf
(
(
str
+
10
),
" %02d:%02d %04d %s"
,
tm
->
tm_hour
,
tm
->
tm_min
,
-
(
tm
->
tm_year
-
1
),
"BC"
);
}
;
}
;
}
}
#ifdef DATEDEBUG
printf
(
"EncodeDateTime- date result is %s
\n
"
,
str
);
...
...
@@ -3797,35 +3797,35 @@ int EncodeTimeSpan(struct tm *tm, double fsec, int style, char *str)
is_before
|=
(
tm
->
tm_year
<
0
);
sprintf
(
cp
,
" %d year%s"
,
abs
(
tm
->
tm_year
),
((
abs
(
tm
->
tm_year
)
!=
1
)
?
"s"
:
""
));
cp
+=
strlen
(
cp
);
}
;
}
if
(
tm
->
tm_mon
!=
0
)
{
is_nonzero
=
TRUE
;
is_before
|=
(
tm
->
tm_mon
<
0
);
sprintf
(
cp
,
" %d mon%s"
,
abs
(
tm
->
tm_mon
),
((
abs
(
tm
->
tm_mon
)
!=
1
)
?
"s"
:
""
));
cp
+=
strlen
(
cp
);
}
;
}
if
(
tm
->
tm_mday
!=
0
)
{
is_nonzero
=
TRUE
;
is_before
|=
(
tm
->
tm_mday
<
0
);
sprintf
(
cp
,
" %d day%s"
,
abs
(
tm
->
tm_mday
),
((
abs
(
tm
->
tm_mday
)
!=
1
)
?
"s"
:
""
));
cp
+=
strlen
(
cp
);
}
;
}
if
(
tm
->
tm_hour
!=
0
)
{
is_nonzero
=
TRUE
;
is_before
|=
(
tm
->
tm_hour
<
0
);
sprintf
(
cp
,
" %d hour%s"
,
abs
(
tm
->
tm_hour
),
((
abs
(
tm
->
tm_hour
)
!=
1
)
?
"s"
:
""
));
cp
+=
strlen
(
cp
);
}
;
}
if
(
tm
->
tm_min
!=
0
)
{
is_nonzero
=
TRUE
;
is_before
|=
(
tm
->
tm_min
<
0
);
sprintf
(
cp
,
" %d min%s"
,
abs
(
tm
->
tm_min
),
((
abs
(
tm
->
tm_min
)
!=
1
)
?
"s"
:
""
));
cp
+=
strlen
(
cp
);
}
;
}
/* fractional seconds? */
if
(
fsec
!=
0
)
{
...
...
@@ -3841,18 +3841,18 @@ int EncodeTimeSpan(struct tm *tm, double fsec, int style, char *str)
is_before
|=
(
tm
->
tm_sec
<
0
);
sprintf
(
cp
,
" %d sec%s"
,
abs
(
tm
->
tm_sec
),
((
abs
(
tm
->
tm_sec
)
!=
1
)
?
"s"
:
""
));
cp
+=
strlen
(
cp
);
}
;
}
/* identically zero? then put in a unitless zero... */
if
(
!
is_nonzero
)
{
strcat
(
cp
,
" 0"
);
cp
+=
strlen
(
cp
);
}
;
}
if
(
is_before
)
{
strcat
(
cp
,
" ago"
);
cp
+=
strlen
(
cp
);
}
;
}
#ifdef DATEDEBUG
printf
(
"EncodeTimeSpan- result is %s
\n
"
,
str
);
...
...
src/backend/utils/adt/geo_ops.c
View file @
a1635450
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.1
6 1997/08/21 23:56:41
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.1
7 1997/09/05 18:11:14
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -158,7 +158,7 @@ static int pair_decode(char *str, float8 *x, float8 *y, char **s)
if
(
*
str
!=
RDELIM
)
return
(
FALSE
);
str
++
;
while
(
isspace
(
*
str
))
str
++
;
}
;
}
if
(
s
!=
NULL
)
*
s
=
str
;
return
(
TRUE
);
...
...
@@ -196,8 +196,8 @@ static int path_decode(int opentype, int npts, char *str, int *isopen, char **ss
}
else
if
(
strrchr
(
s
,
LDELIM
)
==
s
)
{
depth
++
;
s
=
cp
;
}
;
}
;
}
}
for
(
i
=
0
;
i
<
npts
;
i
++
)
{
if
(
!
pair_decode
(
s
,
&
(
p
->
x
),
&
(
p
->
y
),
&
s
))
...
...
@@ -205,7 +205,7 @@ static int path_decode(int opentype, int npts, char *str, int *isopen, char **ss
if
(
*
s
==
DELIM
)
s
++
;
p
++
;
}
;
}
while
(
depth
>
0
)
{
if
((
*
s
==
RDELIM
)
...
...
@@ -215,8 +215,8 @@ static int path_decode(int opentype, int npts, char *str, int *isopen, char **ss
while
(
isspace
(
*
s
))
s
++
;
}
else
{
return
(
FALSE
);
}
;
}
;
}
}
*
ss
=
s
;
return
(
TRUE
);
...
...
@@ -239,7 +239,7 @@ static char *path_encode( bool closed, int npts, Point *pt)
break
;
default:
break
;
}
;
}
for
(
i
=
0
;
i
<
npts
;
i
++
)
{
*
cp
++
=
LDELIM
;
...
...
@@ -249,7 +249,7 @@ static char *path_encode( bool closed, int npts, Point *pt)
*
cp
++
=
RDELIM
;
*
cp
++
=
DELIM
;
pt
++
;
}
;
}
cp
--
;
switch
(
closed
)
{
case
TRUE
:
...
...
@@ -260,7 +260,7 @@ static char *path_encode( bool closed, int npts, Point *pt)
break
;
default:
break
;
}
;
}
*
cp
=
'\0'
;
return
(
result
);
...
...
@@ -280,7 +280,7 @@ static int pair_count(char *s, char delim)
while
((
s
=
strchr
(
s
,
delim
))
!=
NULL
)
{
ndelim
++
;
s
++
;
}
;
}
return
((
ndelim
%
2
)
?
((
ndelim
+
1
)
/
2
)
:
-
1
);
}
...
...
@@ -320,12 +320,12 @@ BOX *box_in(char *str)
x
=
box
->
high
.
x
;
box
->
high
.
x
=
box
->
low
.
x
;
box
->
low
.
x
=
x
;
}
;
}
if
(
box
->
high
.
y
<
box
->
low
.
y
)
{
y
=
box
->
high
.
y
;
box
->
high
.
y
=
box
->
low
.
y
;
box
->
low
.
y
=
y
;
}
;
}
return
(
box
);
}
/* box_in() */
...
...
@@ -361,14 +361,14 @@ static BOX *box_fill(BOX *result, double x1, double x2, double y1, double y2)
}
else
{
result
->
high
.
x
=
x2
;
result
->
low
.
x
=
x1
;
}
;
}
if
(
y1
>
y2
)
{
result
->
high
.
y
=
y1
;
result
->
low
.
y
=
y2
;
}
else
{
result
->
high
.
y
=
y2
;
result
->
low
.
y
=
y1
;
}
;
}
return
(
result
);
}
...
...
@@ -739,7 +739,7 @@ printf( "line_construct_pp- line is neither vertical nor horizontal (diffs x=%.*
digits8
,
(
pt2
->
x
-
pt1
->
x
),
digits8
,
(
pt2
->
y
-
pt1
->
y
));
#endif
result
->
m
=
result
->
A
;
}
;
}
return
(
result
);
}
/* line_construct_pp() */
...
...
@@ -760,7 +760,7 @@ static bool line_parallel(LINE *l1, LINE *l2)
#endif
if
(
FPzero
(
l1
->
B
))
{
return
(
FPzero
(
l2
->
B
));
}
;
}
return
(
FPeq
(
l2
->
A
,
l1
->
A
*
(
l2
->
B
/
l1
->
B
)));
}
/* line_parallel() */
...
...
@@ -778,7 +778,7 @@ bool line_perp(LINE *l1, LINE *l2)
return
(
FPzero
(
l2
->
B
)
);
}
else
if
(
FPzero
(
l1
->
B
))
{
return
(
FPzero
(
l2
->
A
)
);
}
;
}
return
(
FPeq
(((
l1
->
A
*
l2
->
B
)
/
(
l1
->
B
*
l2
->
A
)),
-
1
.
0
)
);
}
/* line_perp() */
...
...
@@ -889,7 +889,7 @@ line_interpt(LINE *l1, LINE *l2)
#endif
x
=
(
l1
->
C
-
l2
->
C
)
/
(
l2
->
A
-
l1
->
A
);
y
=
(
l1
->
A
*
x
+
l1
->
C
);
}
;
}
result
=
point_construct
(
x
,
y
);
#ifdef GEODEBUG
...
...
@@ -946,7 +946,7 @@ PATH *path_in(char *str)
if
((
*
s
==
LDELIM
)
&&
(
strrchr
(
s
,
LDELIM
)
==
s
))
{
s
++
;
depth
++
;
}
;
}
size
=
offsetof
(
PATH
,
p
[
0
])
+
(
sizeof
(
path
->
p
[
0
])
*
npts
);
path
=
PALLOC
(
size
);
...
...
@@ -1153,7 +1153,7 @@ double *path_distance(PATH *p1, PATH *p2)
min
=
tmp
;
}
else
{
PFREE
(
tmp
);
}
;
}
}
return
(
min
);
...
...
@@ -1593,12 +1593,12 @@ lseg_interpt(LSEG *l1, LSEG *l2)
||
(
FPeq
(
l1
->
p
[
1
].
x
,
l2
->
p
[
1
].
x
)
&&
FPeq
(
l1
->
p
[
1
].
y
,
l2
->
p
[
1
].
y
)))
{
result
->
x
=
l1
->
p
[
1
].
x
;
result
->
y
=
l1
->
p
[
1
].
y
;
}
;
}
}
else
{
PFREE
(
result
);
result
=
NULL
;
}
;
}
;
}
}
PFREE
(
tmp1
);
PFREE
(
tmp2
);
...
...
@@ -1653,7 +1653,7 @@ double *dist_ps(Point *pt, LSEG *lseg)
(
lseg
->
p
[
1
].
x
-
lseg
->
p
[
0
].
x
);
#endif
m
=
((
lseg
->
p
[
0
].
y
-
lseg
->
p
[
1
].
y
)
/
(
lseg
->
p
[
1
].
x
-
lseg
->
p
[
0
].
x
));
}
;
}
ln
=
line_construct_pm
(
pt
,
m
);
#ifdef GEODEBUG
...
...
@@ -1680,7 +1680,7 @@ printf( "dist_ps- distance is %f to intersection point is (%f,%f)\n",
tmpdist
=
point_distance
(
pt
,
&
lseg
->
p
[
1
]);
if
(
*
tmpdist
<
*
result
)
*
result
=
*
tmpdist
;
PFREE
(
tmpdist
);
}
;
}
if
(
ip
!=
NULL
)
PFREE
(
ip
);
PFREE
(
ln
);
...
...
@@ -1756,8 +1756,8 @@ double *dist_sl(LSEG *lseg, LINE *line)
result
=
d2
;
}
else
{
PFREE
(
d2
);
}
;
}
;
}
}
return
(
result
);
}
...
...
@@ -1818,7 +1818,7 @@ printf( "dist_cpoly- center inside of polygon\n");
*
result
=
0
;
return
(
result
);
}
;
}
/* initialize distance with segment between first and last points */
seg
.
p
[
0
].
x
=
poly
->
p
[
0
].
x
;
...
...
@@ -1842,7 +1842,7 @@ printf( "dist_cpoly- segment %d distance is %f\n", (i+1), *d);
#endif
if
(
*
d
<
*
result
)
*
result
=
*
d
;
PFREE
(
d
);
}
;
}
*
result
-=
circle
->
radius
;
if
(
*
result
<
0
)
*
result
=
0
;
...
...
@@ -1883,8 +1883,8 @@ printf( "interpt_sl- intersection point is on segment\n");
}
else
{
PFREE
(
p
);
p
=
NULL
;
}
;
}
;
}
}
PFREE
(
tmp
);
return
(
p
);
...
...
@@ -2232,12 +2232,12 @@ static void make_bound_box(POLYGON *poly)
if
(
poly
->
p
[
i
].
x
>
x2
)
x2
=
poly
->
p
[
i
].
x
;
if
(
poly
->
p
[
i
].
y
<
y1
)
y1
=
poly
->
p
[
i
].
y
;
if
(
poly
->
p
[
i
].
y
>
y2
)
y2
=
poly
->
p
[
i
].
y
;
}
;
}
box_fill
(
&
(
poly
->
boundbox
),
x1
,
x2
,
y1
,
y2
);
}
else
{
elog
(
WARN
,
"Unable to create bounding box for empty polygon"
,
NULL
);
}
;
}
}
/*------------------------------------------------------------------
...
...
@@ -2354,7 +2354,7 @@ bool poly_same(POLYGON *polya, POLYGON *polyb)
if
((
polya
->
p
[
i
].
x
!=
polyb
->
p
[
i
].
x
)
||
(
polya
->
p
[
i
].
y
!=
polyb
->
p
[
i
].
y
))
return
FALSE
;
}
;
}
return
TRUE
;
#endif
}
/* poly_same() */
...
...
@@ -2395,18 +2395,18 @@ poly_contain(POLYGON *polya, POLYGON *polyb)
printf
(
"poly_contain- point (%f,%f) not in polygon
\n
"
,
polyb
->
p
[
i
].
x
,
polyb
->
p
[
i
].
y
);
#endif
return
(
FALSE
);
}
;
}
;
}
}
for
(
i
=
0
;
i
<
polya
->
npts
;
i
++
)
{
if
(
point_inside
(
&
(
polya
->
p
[
i
]),
polyb
->
npts
,
&
(
polyb
->
p
[
0
]))
==
1
)
{
#if GEODEBUG
printf
(
"poly_contain- point (%f,%f) in polygon
\n
"
,
polya
->
p
[
i
].
x
,
polya
->
p
[
i
].
y
);
#endif
return
(
FALSE
);
}
;
}
;
}
}
return
(
TRUE
);
}
;
}
#if GEODEBUG
printf
(
"poly_contain- bound box ((%f,%f),(%f,%f)) not inside ((%f,%f),(%f,%f))
\n
"
,
polyb
->
boundbox
.
low
.
x
,
polyb
->
boundbox
.
low
.
y
,
polyb
->
boundbox
.
high
.
x
,
polyb
->
boundbox
.
high
.
y
,
...
...
@@ -2691,11 +2691,11 @@ path_add(PATH *p1, PATH *p2)
for
(
i
=
0
;
i
<
p1
->
npts
;
i
++
)
{
result
->
p
[
i
].
x
=
p1
->
p
[
i
].
x
;
result
->
p
[
i
].
y
=
p1
->
p
[
i
].
y
;
}
;
}
for
(
i
=
0
;
i
<
p2
->
npts
;
i
++
)
{
result
->
p
[
i
+
p1
->
npts
].
x
=
p2
->
p
[
i
].
x
;
result
->
p
[
i
+
p1
->
npts
].
y
=
p2
->
p
[
i
].
y
;
}
;
}
return
(
result
);
}
/* path_add() */
...
...
@@ -2717,7 +2717,7 @@ path_add_pt(PATH *path, Point *point)
for
(
i
=
0
;
i
<
path
->
npts
;
i
++
)
{
result
->
p
[
i
].
x
+=
point
->
x
;
result
->
p
[
i
].
y
+=
point
->
y
;
}
;
}
return
(
result
);
}
/* path_add_pt() */
...
...
@@ -2736,7 +2736,7 @@ path_sub_pt(PATH *path, Point *point)
for
(
i
=
0
;
i
<
path
->
npts
;
i
++
)
{
result
->
p
[
i
].
x
-=
point
->
x
;
result
->
p
[
i
].
y
-=
point
->
y
;
}
;
}
return
(
result
);
}
/* path_sub_pt() */
...
...
@@ -2762,7 +2762,7 @@ path_mul_pt(PATH *path, Point *point)
result
->
p
[
i
].
x
=
p
->
x
;
result
->
p
[
i
].
y
=
p
->
y
;
PFREE
(
p
);
}
;
}
return
(
result
);
}
/* path_mul_pt() */
...
...
@@ -2784,7 +2784,7 @@ path_div_pt(PATH *path, Point *point)
result
->
p
[
i
].
x
=
p
->
x
;
result
->
p
[
i
].
y
=
p
->
y
;
PFREE
(
p
);
}
;
}
return
(
result
);
}
/* path_div_pt() */
...
...
@@ -2846,7 +2846,7 @@ POLYGON *path_poly(PATH *path)
for
(
i
=
0
;
i
<
path
->
npts
;
i
++
)
{
poly
->
p
[
i
].
x
=
path
->
p
[
i
].
x
;
poly
->
p
[
i
].
y
=
path
->
p
[
i
].
y
;
}
;
}
make_bound_box
(
poly
);
...
...
@@ -2886,7 +2886,7 @@ PATH
for
(
i
=
0
;
i
<
result
->
npts
;
i
++
)
{
result
->
p
[
i
].
x
=
path
->
p
[
i
+
1
].
x
;
result
->
p
[
i
].
y
=
path
->
p
[
i
+
1
].
y
;
}
;
}
return
(
result
);
}
/* upgradepath() */
...
...
@@ -2932,7 +2932,7 @@ poly_center(POLYGON *poly)
}
else
{
result
=
NULL
;
}
;
}
return
(
result
);
}
/* poly_center() */
...
...
@@ -3006,7 +3006,7 @@ poly_path(POLYGON *poly)
for
(
i
=
0
;
i
<
poly
->
npts
;
i
++
)
{
path
->
p
[
i
].
x
=
poly
->
p
[
i
].
x
;
path
->
p
[
i
].
y
=
poly
->
p
[
i
].
y
;
}
;
}
return
(
path
);
}
/* poly_path() */
...
...
@@ -3039,17 +3039,17 @@ POLYGON
for
(
i
=
0
;
i
<
n2
;
i
++
)
{
result
->
p
[
2
*
i
].
x
=
poly
->
p
[
i
].
x
;
/* even indices */
result
->
p
[
2
*
i
+
1
].
x
=
poly
->
p
[
i
].
y
;
/* odd indices */
}
;
}
if
((
ii
=
((
poly
->
npts
%
2
)
?
1
:
0
)))
{
result
->
p
[
poly
->
npts
-
1
].
x
=
poly
->
p
[
n2
].
x
;
result
->
p
[
0
].
y
=
poly
->
p
[
n2
].
y
;
}
;
}
for
(
i
=
0
;
i
<
n2
;
i
++
)
{
result
->
p
[
2
*
i
+
ii
].
y
=
poly
->
p
[
i
+
n2
+
ii
].
x
;
/* even (+offset) indices */
result
->
p
[
2
*
i
+
ii
+
1
].
y
=
poly
->
p
[
i
+
n2
+
ii
].
y
;
/* odd (+offset) indices */
}
;
}
return
(
result
);
}
/* upgradepoly() */
...
...
@@ -3079,17 +3079,17 @@ POLYGON
for
(
i
=
0
;
i
<
n2
;
i
++
)
{
result
->
p
[
i
].
x
=
poly
->
p
[
2
*
i
].
x
;
/* even indices */
result
->
p
[
i
].
y
=
poly
->
p
[
2
*
i
+
1
].
x
;
/* odd indices */
}
;
}
if
((
ii
=
((
poly
->
npts
%
2
)
?
1
:
0
)))
{
result
->
p
[
n2
].
x
=
poly
->
p
[
poly
->
npts
-
1
].
x
;
result
->
p
[
n2
].
y
=
poly
->
p
[
0
].
y
;
}
;
}
for
(
i
=
0
;
i
<
n2
;
i
++
)
{
result
->
p
[
i
+
n2
+
ii
].
x
=
poly
->
p
[
2
*
i
+
ii
].
y
;
/* even (+offset) indices */
result
->
p
[
i
+
n2
+
ii
].
y
=
poly
->
p
[
2
*
i
+
ii
+
1
].
y
;
/* odd (+offset) indices */
}
;
}
return
(
result
);
}
/* revertpoly() */
...
...
@@ -3131,8 +3131,8 @@ CIRCLE *circle_in(char *str)
while
(
isspace
(
*
cp
))
cp
++
;
if
(
*
cp
==
LDELIM
)
{
s
=
cp
;
}
;
}
;
}
}
if
(
!
pair_decode
(
s
,
&
circle
->
center
.
x
,
&
circle
->
center
.
y
,
&
s
))
elog
(
WARN
,
"Bad circle external representation '%s'"
,
str
);
...
...
@@ -3151,8 +3151,8 @@ CIRCLE *circle_in(char *str)
while
(
isspace
(
*
s
))
s
++
;
}
else
{
elog
(
WARN
,
"Bad circle external representation '%s'"
,
str
);
}
;
}
;
}
}
if
(
*
s
!=
'\0'
)
elog
(
WARN
,
"Bad circle external representation '%s'"
,
str
);
...
...
@@ -3628,7 +3628,7 @@ POLYGON *circle_poly(int npts, CIRCLE *circle)
angle
=
i
*
(
2
*
PI
/
npts
);
poly
->
p
[
i
].
x
=
circle
->
center
.
x
-
(
circle
->
radius
*
cos
(
angle
));
poly
->
p
[
i
].
y
=
circle
->
center
.
y
+
(
circle
->
radius
*
sin
(
angle
));
}
;
}
make_bound_box
(
poly
);
...
...
@@ -3660,13 +3660,13 @@ CIRCLE *poly_circle(POLYGON *poly)
for
(
i
=
0
;
i
<
poly
->
npts
;
i
++
)
{
circle
->
center
.
x
+=
poly
->
p
[
i
].
x
;
circle
->
center
.
y
+=
poly
->
p
[
i
].
y
;
}
;
}
circle
->
center
.
x
/=
poly
->
npts
;
circle
->
center
.
y
/=
poly
->
npts
;
for
(
i
=
0
;
i
<
poly
->
npts
;
i
++
)
{
circle
->
radius
+=
point_dt
(
&
poly
->
p
[
i
],
&
circle
->
center
);
}
;
}
circle
->
radius
/=
poly
->
npts
;
if
(
FPzero
(
circle
->
radius
))
...
...
@@ -3762,8 +3762,8 @@ lseg_crossing( double x, double y, double px, double py)
}
else
{
/* x < 0 */
if
(
FPzero
(
py
))
return
(
FPlt
(
px
,
0
)
?
0
:
HIT_IT
);
return
(
0
);
}
;
}
;
}
}
/* Now we know y != 0; set sgn to sign of y */
sgn
=
(
FPgt
(
y
,
0
)
?
1
:
-
1
);
...
...
@@ -3779,7 +3779,7 @@ lseg_crossing( double x, double y, double px, double py)
z
=
(
x
-
px
)
*
y
-
(
y
-
py
)
*
x
;
if
(
FPzero
(
z
))
return
(
HIT_IT
);
return
(
FPgt
(
(
sgn
*
z
),
0
)
?
0
:
2
*
sgn
);
}
;
}
}
/* lseg_crossing() */
...
...
@@ -3802,8 +3802,8 @@ plist_same(int npts, Point p1[], Point p2[])
printf
(
"plist_same- %d failed forward match with %d
\n
"
,
j
,
ii
);
#endif
break
;
}
;
}
;
}
}
#ifdef GEODEBUG
printf
(
"plist_same- ii = %d/%d after forward match
\n
"
,
ii
,
npts
);
#endif
...
...
@@ -3819,15 +3819,15 @@ printf( "plist_same- ii = %d/%d after forward match\n", ii, npts);
printf
(
"plist_same- %d failed reverse match with %d
\n
"
,
j
,
ii
);
#endif
break
;
}
;
}
;
}
}
#ifdef GEODEBUG
printf
(
"plist_same- ii = %d/%d after reverse match
\n
"
,
ii
,
npts
);
#endif
if
(
ii
==
npts
)
return
(
TRUE
);
}
;
}
;
}
}
return
(
FALSE
);
}
/* plist_same() */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment