diff options
author | Neil Conway <neilc@samurai.com> | 2007-05-30 19:38:05 +0000 |
---|---|---|
committer | Neil Conway <neilc@samurai.com> | 2007-05-30 19:38:05 +0000 |
commit | f14f27dd38f037fe2296c9ced3cbc00a47fa2110 (patch) | |
tree | b930425b0ab54cc73abfee5b63ffe40945ad261a /src | |
parent | 85df43f341843af272f307449c7647df566e1c55 (diff) | |
download | postgresql-f14f27dd38f037fe2296c9ced3cbc00a47fa2110.tar.gz postgresql-f14f27dd38f037fe2296c9ced3cbc00a47fa2110.zip |
Tweak: use memcpy() in text_time(), rather than manually copying bytes
in a loop.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/utils/adt/date.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index bdda749bed0..9ead120245f 100644 --- a/src/backend/utils/adt/date.c +++ b/src/backend/utils/adt/date.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/date.c,v 1.129 2007/02/27 23:48:07 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/date.c,v 1.130 2007/05/30 19:38:05 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -1635,7 +1635,7 @@ time_text(PG_FUNCTION_ARGS) result = palloc(len); SET_VARSIZE(result, len); - memcpy(VARDATA(result), str, (len - VARHDRSZ)); + memcpy(VARDATA(result), str, len - VARHDRSZ); pfree(str); @@ -1651,11 +1651,9 @@ time_text(PG_FUNCTION_ARGS) Datum text_time(PG_FUNCTION_ARGS) { - text *str = PG_GETARG_TEXT_P(0); - int i; - char *sp, - *dp, - dstr[MAXDATELEN + 1]; + text *str = PG_GETARG_TEXT_P(0); + char dstr[MAXDATELEN + 1]; + size_t len; if (VARSIZE(str) - VARHDRSZ > MAXDATELEN) ereport(ERROR, @@ -1663,11 +1661,9 @@ text_time(PG_FUNCTION_ARGS) errmsg("invalid input syntax for type time: \"%s\"", VARDATA(str)))); - sp = VARDATA(str); - dp = dstr; - for (i = 0; i < (VARSIZE(str) - VARHDRSZ); i++) - *dp++ = *sp++; - *dp = '\0'; + len = VARSIZE(str) - VARHDRSZ; + memcpy(dstr, VARDATA(str), len); + dstr[len] = '\0'; return DirectFunctionCall3(time_in, CStringGetDatum(dstr), |