diff options
author | jsing <> | 2014-04-15 13:42:55 +0000 |
---|---|---|
committer | jsing <> | 2014-04-15 13:42:55 +0000 |
commit | 69a8d2dcc19aed0d1116ba2ecd81cce5ae736c94 (patch) | |
tree | f085d85cb06e6b6e1a1b1d52cced54d9f7d7e5f2 /src/lib/libcrypto/o_time.c | |
parent | c7fdfc89ee30180bf262c4b146c1b6e1030083d6 (diff) | |
download | openbsd-69a8d2dcc19aed0d1116ba2ecd81cce5ae736c94.tar.gz openbsd-69a8d2dcc19aed0d1116ba2ecd81cce5ae736c94.tar.bz2 openbsd-69a8d2dcc19aed0d1116ba2ecd81cce5ae736c94.zip |
First pass at applying KNF to the OpenSSL code, which almost makes it
readable. This pass is whitespace only and can readily be verified using
tr and md5.
Diffstat (limited to 'src/lib/libcrypto/o_time.c')
-rw-r--r-- | src/lib/libcrypto/o_time.c | 79 |
1 files changed, 40 insertions, 39 deletions
diff --git a/src/lib/libcrypto/o_time.c b/src/lib/libcrypto/o_time.c index 5fb5d4e6d7..44f7ba3b8c 100644 --- a/src/lib/libcrypto/o_time.c +++ b/src/lib/libcrypto/o_time.c | |||
@@ -63,14 +63,14 @@ | |||
63 | #include <string.h> | 63 | #include <string.h> |
64 | #include "o_time.h" | 64 | #include "o_time.h" |
65 | 65 | ||
66 | struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result) | 66 | struct tm |
67 | { | 67 | *OPENSSL_gmtime(const time_t *timer, struct tm *result) { |
68 | struct tm *ts = NULL; | 68 | struct tm *ts = NULL; |
69 | 69 | ||
70 | #if defined(OPENSSL_THREADS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_OS2) && (!defined(OPENSSL_SYS_VMS) || defined(gmtime_r)) && !defined(OPENSSL_SYS_MACOSX) && !defined(OPENSSL_SYS_SUNOS) | 70 | #if defined(OPENSSL_THREADS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_OS2) && (!defined(OPENSSL_SYS_VMS) || defined(gmtime_r)) && !defined(OPENSSL_SYS_MACOSX) && !defined(OPENSSL_SYS_SUNOS) |
71 | /* should return &data, but doesn't on some systems, | 71 | /* should return &data, but doesn't on some systems, |
72 | so we don't even look at the return value */ | 72 | so we don't even look at the return value */ |
73 | gmtime_r(timer,result); | 73 | gmtime_r(timer, result); |
74 | ts = result; | 74 | ts = result; |
75 | #else | 75 | #else |
76 | ts = gmtime(timer); | 76 | ts = gmtime(timer); |
@@ -81,7 +81,7 @@ struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result) | |||
81 | ts = result; | 81 | ts = result; |
82 | #endif | 82 | #endif |
83 | return ts; | 83 | return ts; |
84 | } | 84 | } |
85 | 85 | ||
86 | /* Take a tm structure and add an offset to it. This avoids any OS issues | 86 | /* Take a tm structure and add an offset to it. This avoids any OS issues |
87 | * with restricted date types and overflows which cause the year 2038 | 87 | * with restricted date types and overflows which cause the year 2038 |
@@ -93,29 +93,27 @@ struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result) | |||
93 | static long date_to_julian(int y, int m, int d); | 93 | static long date_to_julian(int y, int m, int d); |
94 | static void julian_to_date(long jd, int *y, int *m, int *d); | 94 | static void julian_to_date(long jd, int *y, int *m, int *d); |
95 | 95 | ||
96 | int OPENSSL_gmtime_adj(struct tm *tm, int off_day, long offset_sec) | 96 | int |
97 | { | 97 | OPENSSL_gmtime_adj(struct tm *tm, int off_day, long offset_sec) |
98 | { | ||
98 | int offset_hms, offset_day; | 99 | int offset_hms, offset_day; |
99 | long time_jd; | 100 | long time_jd; |
100 | int time_year, time_month, time_day; | 101 | int time_year, time_month, time_day; |
101 | /* split offset into days and day seconds */ | 102 | /* split offset into days and day seconds */ |
102 | offset_day = offset_sec / SECS_PER_DAY; | 103 | offset_day = offset_sec / SECS_PER_DAY; |
103 | /* Avoid sign issues with % operator */ | 104 | /* Avoid sign issues with % operator */ |
104 | offset_hms = offset_sec - (offset_day * SECS_PER_DAY); | 105 | offset_hms = offset_sec - (offset_day * SECS_PER_DAY); |
105 | offset_day += off_day; | 106 | offset_day += off_day; |
106 | /* Add current time seconds to offset */ | 107 | /* Add current time seconds to offset */ |
107 | offset_hms += tm->tm_hour * 3600 + tm->tm_min * 60 + tm->tm_sec; | 108 | offset_hms += tm->tm_hour * 3600 + tm->tm_min * 60 + tm->tm_sec; |
108 | /* Adjust day seconds if overflow */ | 109 | /* Adjust day seconds if overflow */ |
109 | if (offset_hms >= SECS_PER_DAY) | 110 | if (offset_hms >= SECS_PER_DAY) { |
110 | { | ||
111 | offset_day++; | 111 | offset_day++; |
112 | offset_hms -= SECS_PER_DAY; | 112 | offset_hms -= SECS_PER_DAY; |
113 | } | 113 | } else if (offset_hms < 0) { |
114 | else if (offset_hms < 0) | ||
115 | { | ||
116 | offset_day--; | 114 | offset_day--; |
117 | offset_hms += SECS_PER_DAY; | 115 | offset_hms += SECS_PER_DAY; |
118 | } | 116 | } |
119 | 117 | ||
120 | /* Convert date of time structure into a Julian day number. | 118 | /* Convert date of time structure into a Julian day number. |
121 | */ | 119 | */ |
@@ -150,22 +148,24 @@ int OPENSSL_gmtime_adj(struct tm *tm, int off_day, long offset_sec) | |||
150 | tm->tm_sec = offset_hms % 60; | 148 | tm->tm_sec = offset_hms % 60; |
151 | 149 | ||
152 | return 1; | 150 | return 1; |
153 | 151 | ||
154 | } | 152 | } |
155 | 153 | ||
156 | /* Convert date to and from julian day | 154 | /* Convert date to and from julian day |
157 | * Uses Fliegel & Van Flandern algorithm | 155 | * Uses Fliegel & Van Flandern algorithm |
158 | */ | 156 | */ |
159 | static long date_to_julian(int y, int m, int d) | 157 | static long |
158 | date_to_julian(int y, int m, int d) | ||
160 | { | 159 | { |
161 | return (1461 * (y + 4800 + (m - 14) / 12)) / 4 + | 160 | return (1461 * (y + 4800 + (m - 14) / 12)) / 4 + |
162 | (367 * (m - 2 - 12 * ((m - 14) / 12))) / 12 - | 161 | (367 * (m - 2 - 12 * ((m - 14) / 12))) / 12 - |
163 | (3 * ((y + 4900 + (m - 14) / 12) / 100)) / 4 + | 162 | (3 * ((y + 4900 + (m - 14) / 12) / 100)) / 4 + |
164 | d - 32075; | 163 | d - 32075; |
165 | } | 164 | } |
166 | 165 | ||
167 | static void julian_to_date(long jd, int *y, int *m, int *d) | 166 | static void |
168 | { | 167 | julian_to_date(long jd, int *y, int *m, int *d) |
168 | { | ||
169 | long L = jd + 68569; | 169 | long L = jd + 68569; |
170 | long n = (4 * L) / 146097; | 170 | long n = (4 * L) / 146097; |
171 | long i, j; | 171 | long i, j; |
@@ -178,7 +178,7 @@ static void julian_to_date(long jd, int *y, int *m, int *d) | |||
178 | L = j / 11; | 178 | L = j / 11; |
179 | *m = j + 2 - (12 * L); | 179 | *m = j + 2 - (12 * L); |
180 | *y = 100 * (n - 49) + i + L; | 180 | *y = 100 * (n - 49) + i + L; |
181 | } | 181 | } |
182 | 182 | ||
183 | #ifdef OPENSSL_TIME_TEST | 183 | #ifdef OPENSSL_TIME_TEST |
184 | 184 | ||
@@ -189,20 +189,21 @@ static void julian_to_date(long jd, int *y, int *m, int *d) | |||
189 | * trigger the very errors the routines fix. | 189 | * trigger the very errors the routines fix. |
190 | */ | 190 | */ |
191 | 191 | ||
192 | int main(int argc, char **argv) | 192 | int |
193 | { | 193 | main(int argc, char **argv) |
194 | { | ||
194 | long offset; | 195 | long offset; |
195 | for (offset = 0; offset < 1000000; offset++) | 196 | for (offset = 0; offset < 1000000; offset++) { |
196 | { | ||
197 | check_time(offset); | 197 | check_time(offset); |
198 | check_time(-offset); | 198 | check_time(-offset); |
199 | check_time(offset * 1000); | 199 | check_time(offset * 1000); |
200 | check_time(-offset * 1000); | 200 | check_time(-offset * 1000); |
201 | } | ||
202 | } | 201 | } |
202 | } | ||
203 | 203 | ||
204 | int check_time(long offset) | 204 | int |
205 | { | 205 | check_time(long offset) |
206 | { | ||
206 | struct tm tm1, tm2; | 207 | struct tm tm1, tm2; |
207 | time_t t1, t2; | 208 | time_t t1, t2; |
208 | time(&t1); | 209 | time(&t1); |
@@ -211,20 +212,20 @@ int check_time(long offset) | |||
211 | OPENSSL_gmtime(&t1, &tm1); | 212 | OPENSSL_gmtime(&t1, &tm1); |
212 | OPENSSL_gmtime_adj(&tm1, 0, offset); | 213 | OPENSSL_gmtime_adj(&tm1, 0, offset); |
213 | if ((tm1.tm_year == tm2.tm_year) && | 214 | if ((tm1.tm_year == tm2.tm_year) && |
214 | (tm1.tm_mon == tm2.tm_mon) && | 215 | (tm1.tm_mon == tm2.tm_mon) && |
215 | (tm1.tm_mday == tm2.tm_mday) && | 216 | (tm1.tm_mday == tm2.tm_mday) && |
216 | (tm1.tm_hour == tm2.tm_hour) && | 217 | (tm1.tm_hour == tm2.tm_hour) && |
217 | (tm1.tm_min == tm2.tm_min) && | 218 | (tm1.tm_min == tm2.tm_min) && |
218 | (tm1.tm_sec == tm2.tm_sec)) | 219 | (tm1.tm_sec == tm2.tm_sec)) |
219 | return 1; | 220 | return 1; |
220 | fprintf(stderr, "TIME ERROR!!\n"); | 221 | fprintf(stderr, "TIME ERROR!!\n"); |
221 | fprintf(stderr, "Time1: %d/%d/%d, %d:%02d:%02d\n", | 222 | fprintf(stderr, "Time1: %d/%d/%d, %d:%02d:%02d\n", |
222 | tm2.tm_mday, tm2.tm_mon + 1, tm2.tm_year + 1900, | 223 | tm2.tm_mday, tm2.tm_mon + 1, tm2.tm_year + 1900, |
223 | tm2.tm_hour, tm2.tm_min, tm2.tm_sec); | 224 | tm2.tm_hour, tm2.tm_min, tm2.tm_sec); |
224 | fprintf(stderr, "Time2: %d/%d/%d, %d:%02d:%02d\n", | 225 | fprintf(stderr, "Time2: %d/%d/%d, %d:%02d:%02d\n", |
225 | tm1.tm_mday, tm1.tm_mon + 1, tm1.tm_year + 1900, | 226 | tm1.tm_mday, tm1.tm_mon + 1, tm1.tm_year + 1900, |
226 | tm1.tm_hour, tm1.tm_min, tm1.tm_sec); | 227 | tm1.tm_hour, tm1.tm_min, tm1.tm_sec); |
227 | return 0; | 228 | return 0; |
228 | } | 229 | } |
229 | 230 | ||
230 | #endif | 231 | #endif |