summaryrefslogtreecommitdiff
path: root/src/interfaces
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2010-06-16 00:54:16 +0000
committerPeter Eisentraut <peter_e@gmx.net>2010-06-16 00:54:16 +0000
commit418e1d82fd113ac8d7ec20f7aeeefc0a4e563ebb (patch)
treee8d3777e54a0d3985812aac6cc77f9cefa87a888 /src/interfaces
parent24cb6ab9af0350ca7c3703bf3b314206dd1405c0 (diff)
downloadpostgresql-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.c22
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;