Lines Matching full:duration
2 * $Id: duration.c 4518 2011-02-24 15:39:09Z matthijs $
41 #include <ldns/duration.h>
50 * Create a new 'instant' duration.
56 ldns_duration_type* duration; in ldns_duration_create() local
58 duration = malloc(sizeof(ldns_duration_type)); in ldns_duration_create()
59 if (!duration) { in ldns_duration_create()
62 duration->years = 0; in ldns_duration_create()
63 duration->months = 0; in ldns_duration_create()
64 duration->weeks = 0; in ldns_duration_create()
65 duration->days = 0; in ldns_duration_create()
66 duration->hours = 0; in ldns_duration_create()
67 duration->minutes = 0; in ldns_duration_create()
68 duration->seconds = 0; in ldns_duration_create()
69 return duration; in ldns_duration_create()
114 * Create a duration from string.
120 ldns_duration_type* duration = ldns_duration_create(); in ldns_duration_create_from_string() local
124 if (!duration) { in ldns_duration_create_from_string()
128 return duration; in ldns_duration_create_from_string()
133 ldns_duration_cleanup(duration); in ldns_duration_create_from_string()
140 duration->years = (time_t) atoi(str+1); in ldns_duration_create_from_string()
146 duration->months = (time_t) atoi(str+1); in ldns_duration_create_from_string()
152 duration->days = (time_t) atoi(str+1); in ldns_duration_create_from_string()
162 duration->hours = (time_t) atoi(str+1); in ldns_duration_create_from_string()
168 duration->minutes = (time_t) atoi(str+1); in ldns_duration_create_from_string()
174 duration->seconds = (time_t) atoi(str+1); in ldns_duration_create_from_string()
182 ldns_duration_cleanup(duration); in ldns_duration_create_from_string()
185 duration->weeks = (time_t) atoi(str+1); in ldns_duration_create_from_string()
188 return duration; in ldns_duration_create_from_string()
207 * Convert a duration to a string.
242 * Convert a duration to a time.
246 ldns_duration2time(const ldns_duration_type* duration) in ldns_duration2time() argument
250 if (duration) { in ldns_duration2time()
251 period += (duration->seconds); in ldns_duration2time()
252 period += (duration->minutes)*60; in ldns_duration2time()
253 period += (duration->hours)*3600; in ldns_duration2time()
254 period += (duration->days)*86400; in ldns_duration2time()
255 period += (duration->weeks)*86400*7; in ldns_duration2time()
256 period += (duration->months)*86400*31; in ldns_duration2time()
257 period += (duration->years)*86400*365; in ldns_duration2time()
261 if (duration->months || duration->years) { in ldns_duration2time()
270 * Clean up duration.
274 ldns_duration_cleanup(ldns_duration_type* duration) in ldns_duration_cleanup() argument
276 if (!duration) { in ldns_duration_cleanup()
279 free(duration); in ldns_duration_cleanup()