Line data Source code
1 : /*
2 : * Copyright (c) 1997, 1998 Kungliga Tekniska Högskolan
3 : * (Royal Institute of Technology, Stockholm, Sweden).
4 : * All rights reserved.
5 : *
6 : * Redistribution and use in source and binary forms, with or without
7 : * modification, are permitted provided that the following conditions
8 : * are met:
9 : *
10 : * 1. Redistributions of source code must retain the above copyright
11 : * notice, this list of conditions and the following disclaimer.
12 : *
13 : * 2. Redistributions in binary form must reproduce the above copyright
14 : * notice, this list of conditions and the following disclaimer in the
15 : * documentation and/or other materials provided with the distribution.
16 : *
17 : * 3. Neither the name of the Institute nor the names of its contributors
18 : * may be used to endorse or promote products derived from this software
19 : * without specific prior written permission.
20 : *
21 : * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 : * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 : * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 : * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 : * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 : * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 : * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 : * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 : * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 : * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 : * SUCH DAMAGE.
32 : */
33 :
34 : #include <config.h>
35 :
36 : #include <parse_units.h>
37 : #include "parse_time.h"
38 :
39 : static struct units time_units[] = {
40 : {"year", 365 * 24 * 60 * 60},
41 : {"month", 30 * 24 * 60 * 60},
42 : {"week", 7 * 24 * 60 * 60},
43 : {"day", 24 * 60 * 60},
44 : {"hour", 60 * 60},
45 : {"h", 60 * 60},
46 : {"minute", 60},
47 : {"m", 60},
48 : {"second", 1},
49 : {"s", 1},
50 : {NULL, 0},
51 : };
52 :
53 : ROKEN_LIB_FUNCTION int64_t ROKEN_LIB_CALL
54 12081 : parse_time (const char *s, const char *def_unit)
55 : {
56 12081 : return parse_units (s, time_units, def_unit);
57 : }
58 :
59 : ROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL
60 0 : unparse_time(int64_t t, char *s, size_t len)
61 : {
62 0 : return unparse_units (t, time_units, s, len);
63 : }
64 :
65 : ROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL
66 0 : unparse_time_approx(int64_t t, char *s, size_t len)
67 : {
68 0 : return unparse_units_approx (t, time_units, s, len);
69 : }
70 :
71 : ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL
72 0 : print_time_table (FILE *f)
73 : {
74 0 : print_units_table (time_units, f);
75 0 : }
76 :
77 : #undef parse_time
78 : #undef unparse_time
79 : #undef unparse_time_approx
80 : #undef print_time_table
81 :
82 : ROKEN_LIB_FUNCTION int64_t ROKEN_LIB_CALL
83 0 : parse_time(const char *s, const char *def_unit)
84 : {
85 0 : return rk_parse_units(s, time_units, def_unit);
86 : }
87 :
88 : ROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL
89 0 : unparse_time(int64_t t, char *s, size_t len)
90 : {
91 0 : return rk_unparse_units(t, time_units, s, len);
92 : }
93 :
94 : ROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL
95 0 : unparse_time_approx(int64_t t, char *s, size_t len)
96 : {
97 0 : return rk_unparse_units_approx(t, time_units, s, len);
98 : }
99 :
100 : ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL
101 0 : print_time_table(FILE *f)
102 : {
103 0 : rk_print_units_table(time_units, f);
104 0 : }
|