8
8
*
9
9
*
10
10
* IDENTIFICATION
11
- * $PostgreSQL: pgsql/src/backend/utils/adt/date.c,v 1.129 2007/02/27 23:48:07 tgl Exp $
11
+ * $PostgreSQL: pgsql/src/backend/utils/adt/date.c,v 1.130 2007/05/30 19:38:05 neilc Exp $
12
12
*
13
13
*-------------------------------------------------------------------------
14
14
*/
@@ -1635,7 +1635,7 @@ time_text(PG_FUNCTION_ARGS)
1635
1635
result = palloc (len );
1636
1636
1637
1637
SET_VARSIZE (result , len );
1638
- memcpy (VARDATA (result ), str , ( len - VARHDRSZ ) );
1638
+ memcpy (VARDATA (result ), str , len - VARHDRSZ );
1639
1639
1640
1640
pfree (str );
1641
1641
@@ -1651,23 +1651,19 @@ time_text(PG_FUNCTION_ARGS)
1651
1651
Datum
1652
1652
text_time (PG_FUNCTION_ARGS )
1653
1653
{
1654
- text * str = PG_GETARG_TEXT_P (0 );
1655
- int i ;
1656
- char * sp ,
1657
- * dp ,
1658
- dstr [MAXDATELEN + 1 ];
1654
+ text * str = PG_GETARG_TEXT_P (0 );
1655
+ char dstr [MAXDATELEN + 1 ];
1656
+ size_t len ;
1659
1657
1660
1658
if (VARSIZE (str ) - VARHDRSZ > MAXDATELEN )
1661
1659
ereport (ERROR ,
1662
1660
(errcode (ERRCODE_INVALID_DATETIME_FORMAT ),
1663
1661
errmsg ("invalid input syntax for type time: \"%s\"" ,
1664
1662
VARDATA (str ))));
1665
1663
1666
- sp = VARDATA (str );
1667
- dp = dstr ;
1668
- for (i = 0 ; i < (VARSIZE (str ) - VARHDRSZ ); i ++ )
1669
- * dp ++ = * sp ++ ;
1670
- * dp = '\0' ;
1664
+ len = VARSIZE (str ) - VARHDRSZ ;
1665
+ memcpy (dstr , VARDATA (str ), len );
1666
+ dstr [len ] = '\0' ;
1671
1667
1672
1668
return DirectFunctionCall3 (time_in ,
1673
1669
CStringGetDatum (dstr ),
0 commit comments