aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac18
-rw-r--r--src/graph.c1
-rw-r--r--src/html.gram.y34
-rw-r--r--src/html.lex.l10
-rw-r--r--src/log.c16
-rw-r--r--src/main.c77
-rw-r--r--src/readconfig.c32
-rw-r--r--src/report.c40
-rw-r--r--src/stat.c65
-rw-r--r--src/tagr.h5
10 files changed, 167 insertions, 131 deletions
diff --git a/configure.ac b/configure.ac
index a622998..70e0c79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,16 +70,34 @@ AC_CHECK_LIB([gd],[gdImageCreate],
70AC_CHECK_HEADERS(gdbm.h, 70AC_CHECK_HEADERS(gdbm.h,
71 , 71 ,
72 [AC_MSG_ERROR([gdbm.h not found])]) 72 [AC_MSG_ERROR([gdbm.h not found])])
73 73
74AC_CHECK_LIB([gdbm], [gdbm_open], 74AC_CHECK_LIB([gdbm], [gdbm_open],
75 , 75 ,
76 [AC_MSG_ERROR([libgdbm not found])]) 76 [AC_MSG_ERROR([libgdbm not found])])
77 77
78## Default syslog facility
79LOG_FACILITY="LOG_DAEMON"
80
81AC_ARG_VAR([LOG_FACILITY],
82 [Default syslog facility])
83if test -n "$LOG_FACILITY"; then
84 logfacility=`echo $LOG_FACILITY | tr a-z A-Z`
85 case $logfacility in
86 USER|DAEMON|AUTH|AUTHPRIV|MAIL|CRON|LOCAL[[0-7]])
87 LOG_FACILITY=LOG_$logfacility;;
88 LOG_USER|LOG_DAEMON|LOG_AUTH|LOG_AUTHPRIV|LOG_MAIL|LOG_CRON|LOG_LOCAL[[0-7]])
89 LOG_FACILITY=$logfacility;;
90 *) AC_MSG_ERROR([Invalid value of LOG_FACILITY]);;
91 esac
92fi
93AC_DEFINE_UNQUOTED([LOG_FACILITY],$LOG_FACILITY,
94 [Default syslog facility.])
95
78AC_CONFIG_FILES([Makefile 96AC_CONFIG_FILES([Makefile
79 gnu/Makefile 97 gnu/Makefile
80 grecs/Makefile 98 grecs/Makefile
81 grecs/src/Makefile 99 grecs/src/Makefile
82 src/Makefile 100 src/Makefile
83 etc/Makefile]) 101 etc/Makefile])
84 102
85AC_OUTPUT 103AC_OUTPUT
diff --git a/src/graph.c b/src/graph.c
index bfd00cb..1464e8b 100644
--- a/src/graph.c
+++ b/src/graph.c
@@ -49,16 +49,17 @@ int color_out_max[3] = { 255,0,255 };
49int color_percent[3] = { 239,159,79 }; 49int color_percent[3] = { 239,159,79 };
50 50
51int graph_xsize = 460; 51int graph_xsize = 460;
52int graph_ysize = 100; 52int graph_ysize = 100;
53 53
54int graph_h_margin[2] = { 100, 14 }; 54int graph_h_margin[2] = { 100, 14 };
55int graph_v_margin[2] = { 14, 35 }; 55int graph_v_margin[2] = { 14, 35 };
56 56
57/* FIXME: I18N?? */
57char *rate_unit = "Bytes per Second"; 58char *rate_unit = "Bytes per Second";
58 59
59#define make_color_index(g, ar) \ 60#define make_color_index(g, ar) \
60 gdImageColorAllocate (g, (ar)[0], (ar)[1], (ar)[2]) 61 gdImageColorAllocate (g, (ar)[0], (ar)[1], (ar)[2])
61 62
62static void 63static void
63draw_vtext (gdImagePtr graph, int color, const char *text) 64draw_vtext (gdImagePtr graph, int color, const char *text)
64{ 65{
diff --git a/src/html.gram.y b/src/html.gram.y
index fae64ff..e488494 100644
--- a/src/html.gram.y
+++ b/src/html.gram.y
@@ -108,17 +108,17 @@ expr : value
108 } 108 }
109 | expr '+' expr 109 | expr '+' expr
110 { 110 {
111 if ($1.type == unspecified_value 111 if ($1.type == unspecified_value
112 || $3.type == unspecified_value) 112 || $3.type == unspecified_value)
113 init_value (&$$, unspecified_value, NULL); 113 init_value (&$$, unspecified_value, NULL);
114 else if ($1.type != $3.type) 114 else if ($1.type != $3.type)
115 { 115 {
116 yyerror ("type mismatch in addition"); 116 yyerror (_("type mismatch in addition"));
117 init_value (&$$, unspecified_value, NULL); 117 init_value (&$$, unspecified_value, NULL);
118 } 118 }
119 else 119 else
120 { 120 {
121 $$.type = $1.type; 121 $$.type = $1.type;
122 deduce_format (&$$, &$1, &$3); 122 deduce_format (&$$, &$1, &$3);
123 switch ($1.type) 123 switch ($1.type)
124 { 124 {
@@ -140,102 +140,102 @@ expr : value
140 } 140 }
141 | expr '-' expr 141 | expr '-' expr
142 { 142 {
143 if ($1.type == unspecified_value 143 if ($1.type == unspecified_value
144 || $3.type == unspecified_value) 144 || $3.type == unspecified_value)
145 init_value (&$$, unspecified_value, NULL); 145 init_value (&$$, unspecified_value, NULL);
146 else if ($1.type != $3.type) 146 else if ($1.type != $3.type)
147 { 147 {
148 yyerror ("type mismatch in subtraction"); 148 yyerror (_("type mismatch in subtraction"));
149 init_value (&$$, unspecified_value, NULL); 149 init_value (&$$, unspecified_value, NULL);
150 } 150 }
151 else if ($1.type == string_value) 151 else if ($1.type == string_value)
152 { 152 {
153 yyerror ("subtraction not defined for strings"); 153 yyerror (_("subtraction not defined for strings"));
154 init_value (&$$, unspecified_value, NULL); 154 init_value (&$$, unspecified_value, NULL);
155 } 155 }
156 else 156 else
157 { 157 {
158 $$.type = $1.type; 158 $$.type = $1.type;
159 deduce_format (&$$, &$1, &$3); 159 deduce_format (&$$, &$1, &$3);
160 $$.v.number = $1.v.number - $3.v.number; 160 $$.v.number = $1.v.number - $3.v.number;
161 } 161 }
162 } 162 }
163 | expr '*' expr 163 | expr '*' expr
164 { 164 {
165 if ($1.type == unspecified_value 165 if ($1.type == unspecified_value
166 || $3.type == unspecified_value) 166 || $3.type == unspecified_value)
167 init_value (&$$, unspecified_value, NULL); 167 init_value (&$$, unspecified_value, NULL);
168 else if ($1.type != $3.type) 168 else if ($1.type != $3.type)
169 { 169 {
170 yyerror ("type mismatch in multiplication"); 170 yyerror (_("type mismatch in multiplication"));
171 init_value (&$$, unspecified_value, NULL); 171 init_value (&$$, unspecified_value, NULL);
172 } 172 }
173 else if ($1.type == string_value) 173 else if ($1.type == string_value)
174 { 174 {
175 yyerror ("multiplication not defined for strings"); 175 yyerror (_("multiplication not defined for strings"));
176 init_value (&$$, unspecified_value, NULL); 176 init_value (&$$, unspecified_value, NULL);
177 } 177 }
178 else 178 else
179 { 179 {
180 $$.type = $1.type; 180 $$.type = $1.type;
181 deduce_format (&$$, &$1, &$3); 181 deduce_format (&$$, &$1, &$3);
182 $$.v.number = $1.v.number * $3.v.number; 182 $$.v.number = $1.v.number * $3.v.number;
183 } 183 }
184 } 184 }
185 | expr '/' expr 185 | expr '/' expr
186 { 186 {
187 if ($1.type == unspecified_value 187 if ($1.type == unspecified_value
188 || $3.type == unspecified_value) 188 || $3.type == unspecified_value)
189 init_value (&$$, unspecified_value, NULL); 189 init_value (&$$, unspecified_value, NULL);
190 else if ($1.type != $3.type) 190 else if ($1.type != $3.type)
191 { 191 {
192 yyerror ("type mismatch in division"); 192 yyerror (_("type mismatch in division"));
193 init_value (&$$, unspecified_value, NULL); 193 init_value (&$$, unspecified_value, NULL);
194 } 194 }
195 else if ($1.type == string_value) 195 else if ($1.type == string_value)
196 { 196 {
197 yyerror ("division not defined for strings"); 197 yyerror (_("division not defined for strings"));
198 init_value (&$$, unspecified_value, NULL); 198 init_value (&$$, unspecified_value, NULL);
199 } 199 }
200 else if (fabs ($3.v.number) < 1.0e-5) 200 else if (fabs ($3.v.number) < 1.0e-5)
201 { 201 {
202 yyerror ("division by zero"); 202 yyerror (_("division by zero"));
203 init_value (&$$, unspecified_value, NULL); 203 init_value (&$$, unspecified_value, NULL);
204 } 204 }
205 else 205 else
206 { 206 {
207 $$.type = $1.type; 207 $$.type = $1.type;
208 deduce_format (&$$, &$1, &$3); 208 deduce_format (&$$, &$1, &$3);
209 $$.v.number = $1.v.number / $3.v.number; 209 $$.v.number = $1.v.number / $3.v.number;
210 } 210 }
211 } 211 }
212 | '-' expr %prec UMINUS 212 | '-' expr %prec UMINUS
213 { 213 {
214 if ($2.type == unspecified_value) 214 if ($2.type == unspecified_value)
215 init_value (&$$, unspecified_value, NULL); 215 init_value (&$$, unspecified_value, NULL);
216 else if ($2.type == string_value) 216 else if ($2.type == string_value)
217 { 217 {
218 yyerror ("unary minus not defined for strings"); 218 yyerror (_("unary minus not defined for strings"));
219 init_value (&$$, unspecified_value, NULL); 219 init_value (&$$, unspecified_value, NULL);
220 } 220 }
221 else 221 else
222 { 222 {
223 $$ = $2; 223 $$ = $2;
224 $$.v.number = - $2.v.number; 224 $$.v.number = - $2.v.number;
225 }