diff options
| author | Peter Eisentraut <peter_e@gmx.net> | 2010-06-16 00:54:16 +0000 |
|---|---|---|
| committer | Peter Eisentraut <peter_e@gmx.net> | 2010-06-16 00:54:16 +0000 |
| commit | 418e1d82fd113ac8d7ec20f7aeeefc0a4e563ebb (patch) | |
| tree | e8d3777e54a0d3985812aac6cc77f9cefa87a888 /src/interfaces | |
| parent | 24cb6ab9af0350ca7c3703bf3b314206dd1405c0 (diff) | |
| download | postgresql-418e1d82fd113ac8d7ec20f7aeeefc0a4e563ebb.tar.gz | |
Refactor sprintf calls with computed format strings into multiple calls with
constant format strings, so that the compiler can more easily check the
formats for correctness.
Diffstat (limited to 'src/interfaces')
| -rw-r--r-- | src/interfaces/ecpg/pgtypeslib/dt_common.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c index 52bb5d2ca1..dc430f7881 100644 --- a/src/interfaces/ecpg/pgtypeslib/dt_common.c +++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/pgtypeslib/dt_common.c,v 1.53 2010/05/09 02:15:59 tgl Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/pgtypeslib/dt_common.c,v 1.54 2010/06/16 00:54:16 petere Exp $ */ #include "postgres_fe.h" @@ -815,7 +815,10 @@ EncodeDateTime(struct tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, cha { hour = -(*tzp / SECS_PER_HOUR); min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR; - sprintf(str + strlen(str), (min != 0) ? "%+03d:%02d" : "%+03d", hour, min); + if (min != 0) + sprintf(str + strlen(str), "%+03d:%02d", hour, min); + else + sprintf(str + strlen(str), "%+03d", hour); } break; @@ -869,7 +872,10 @@ EncodeDateTime(struct tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, cha { hour = -(*tzp / SECS_PER_HOUR); min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR; - sprintf(str + strlen(str), (min != 0) ? "%+03d:%02d" : "%+03d", hour, min); + if (min != 0) + sprintf(str + strlen(str), "%+03d:%02d", hour, min); + else + sprintf(str + strlen(str), "%+03d", hour); } } break; @@ -915,7 +921,10 @@ EncodeDateTime(struct tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, cha { hour = -(*tzp / SECS_PER_HOUR); min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR; - sprintf(str + strlen(str), (min != 0) ? "%+03d:%02d" : "%+03d", hour, min); + if (min != 0) + sprintf(str + strlen(str), "%+03d:%02d", hour, min); + else + sprintf(str + strlen(str), "%+03d", hour); } } break; @@ -977,7 +986,10 @@ EncodeDateTime(struct tm * tm, fsec_t fsec, int *tzp, char **tzn, int style, cha */ hour = -(*tzp / SECS_PER_HOUR); min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR; - sprintf(str + strlen(str), (min != 0) ? " %+03d:%02d" : " %+03d", hour, min); + if (min != 0) + sprintf(str + strlen(str), " %+03d:%02d", hour, min); + else + sprintf(str + strlen(str), " %+03d", hour); } } break; |
