OpenCoverage

mailcheck.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/bash/src/mailcheck.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11extern time_t shell_start_time;-
12-
13extern int mailstat (const char *, struct stat *);-
14-
15typedef struct _fileinfo {-
16 char *name;-
17 char *msg;-
18 time_t access_time;-
19 time_t mod_time;-
20 off_t file_size;-
21 int flags;-
22} FILEINFO;-
23-
24-
25static FILEINFO **mailfiles = (FILEINFO **)-
26 ((void *)0)-
27 ;-
28-
29-
30static int mailfiles_count;-
31-
32-
33static time_t last_time_mail_checked = 0;-
34-
35-
36int mail_warning;-
37-
38static int find_mail_file (char *);-
39static void init_mail_file (int);-
40static void update_mail_file (int);-
41static int add_mail_file (char *, char *);-
42-
43static FILEINFO *alloc_mail_file (char *, char *);-
44static void dispose_mail_file (FILEINFO *);-
45-
46static int file_mod_date_changed (int);-
47static int file_access_date_changed (int);-
48static int file_has_grown (int);-
49-
50static char *parse_mailpath_spec (char *);-
51-
52-
53int-
54time_to_check_mail ()-
55{-
56 char *temp;-
57 time_t now;-
58 intmax_t seconds;-
59-
60 temp = get_string_value ("MAILCHECK");-
61-
62-
63-
64 if (temp == 0
temp == 0Description
TRUEnever evaluated
FALSEnever evaluated
|| legal_number (temp, &seconds) == 0
legal_number (...&seconds) == 0Description
TRUEnever evaluated
FALSEnever evaluated
|| seconds < 0
seconds < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
65 return
never executed: return (0);
(0);
never executed: return (0);
0
66-
67 now = ((time_t) time ((time_t *) 0));-
68-
69-
70 return
never executed: return (seconds == 0 || ((now - last_time_mail_checked) >= seconds));
(seconds == 0 || ((now - last_time_mail_checked) >= seconds));
never executed: return (seconds == 0 || ((now - last_time_mail_checked) >= seconds));
0
71}-
72-
73-
74-
75void-
76reset_mail_timer ()-
77{-
78 last_time_mail_checked = ((time_t) time ((time_t *) 0));-
79}
executed 1 time by 1 test: end of block
Executed by:
  • Self test
1
80-
81-
82-
83static int-
84find_mail_file (file)-
85 char *file;-
86{-
87 register int i;-
88-
89 for (i = 0; i < mailfiles_count
i < mailfiles_countDescription
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test
; i++)
0-1
90 if (((
(mailfiles[i]-...] == (file)[0]Description
TRUEnever evaluated
FALSEnever evaluated
mailfiles[i]->name)[0] == (file)[0]
(mailfiles[i]-...] == (file)[0]Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
91 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
92 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
93 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
94 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
95 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
96 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
97 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
98 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
99 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
100 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
101 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
102 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
103 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
104 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
105 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
106 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
107 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
108 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
109 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
110 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
111 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
112 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
113 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
114 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
115 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
116 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
117 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
118 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
119 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
120 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
121 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
122 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
123 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
124 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
125 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
126 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
127 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
128 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
129 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
130 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
131 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
132 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
133 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
134 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
135 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
136 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
137 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( mailfiles[i]->name ))[3] - __s2[3]);
0
138 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( mailfiles[i]->name ))[3] - __s2[3]);
0
139 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
140 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
141 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
142 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
143 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
144 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
145 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
146 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
147 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
148 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
149 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
150 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
151 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
152 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
153 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
154 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
155 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
156 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
157 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
158 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
159 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
160 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
161 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
162 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
163 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
164 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
165 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( file ))[3] - __s2[3]);
0
166 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( file ))[3] - __s2[3]);
0
167 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
168 mailfiles[i]->name
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
169 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
170 file
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
171 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
172 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
))
0
173 return
never executed: return i;
i;
never executed: return i;
0
174-
175 return
executed 1 time by 1 test: return -1;
Executed by:
  • Self test
-1;
executed 1 time by 1 test: return -1;
Executed by:
  • Self test
1
176}-
177static void-
178init_mail_file (i)-
179 int i;-
180{-
181 mailfiles[i]->access_time = mailfiles[i]->mod_time = last_time_mail_checked
last_time_mail_checkedDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
? last_time_mail_checked : shell_start_time;
0-1
182 mailfiles[i]->file_size = 0;-
183 mailfiles[i]->flags = 0;-
184}
executed 1 time by 1 test: end of block
Executed by:
  • Self test
1
185-
186static void-
187update_mail_file (i)-
188 int i;-
189{-
190 char *file;-
191 struct stat finfo;-
192-
193 file = mailfiles[i]->name;-
194 if (mailstat (file, &finfo) == 0
mailstat (file, &finfo) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
195 do { mailfiles[i]->access_time = finfo.-
196 st_atim.tv_sec-
197 ; mailfiles[i]->mod_time = finfo.-
198 st_mtim.tv_sec-
199 ; mailfiles[i]->file_size = finfo.st_size; mailfiles[i]->flags |= 0x01; }
never executed: end of block
while (0);
0
200 else-
201 do { mailfiles[i]->access_time = mailfiles[i]->mod_time = 0; mailfiles[i]->file_size = 0; mailfiles[i]->flags = 0; }
never executed: end of block
while (0);
0
202}-
203-
204-
205-
206static int-
207add_mail_file (file, msg)-
208 char *file, *msg;-
209{-
210 struct stat finfo;-
211 char *filename;-
212 int i;-
213-
214 filename = full_pathname (file);-
215 i = find_mail_file (filename);-
216 if (i >= 0
i >= 0Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test
)
0-1
217 {-
218 if (mailstat (filename, &finfo) == 0
mailstat (file..., &finfo) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
219 do { mailfiles[i]->access_time = finfo.-
220st_atim.tv_sec-
221; mailfiles[i]->mod_time = finfo.-
222st_mtim.tv_sec-
223; mailfiles[i]->file_size = finfo.st_size; mailfiles[i]->flags |= 0x01; }
never executed: end of block
while (0);
0
224-
225 sh_xfree((filename), "mailcheck.c", 186);-
226 return
never executed: return i;
i;
never executed: return i;
0
227 }-
228-
229 i = mailfiles_count++;-
230 mailfiles = (FILEINFO **)sh_xrealloc((mailfiles), (mailfiles_count * sizeof (FILEINFO *)),-
231 "mailcheck.c"-
232 ,-
233 192-
234 )-
235 ;-
236-
237 mailfiles[i] = alloc_mail_file (filename, msg);-
238 init_mail_file (i);-
239-
240 return
executed 1 time by 1 test: return i;
Executed by:
  • Self test
i;
executed 1 time by 1 test: return i;
Executed by:
  • Self test
1
241}-
242-
243-
244void-
245reset_mail_files ()-
246{-
247 register int i;-
248-
249 for (i = 0; i < mailfiles_count
i < mailfiles_countDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
250 do { mailfiles[i]->access_time = mailfiles[i]->mod_time = 0; mailfiles[i]->file_size = 0; mailfiles[i]->flags = 0; }
never executed: end of block
while (0);
0
251}
never executed: end of block
0
252-
253static FILEINFO *-
254alloc_mail_file (filename, msg)-
255 char *filename, *msg;-
256{-
257 FILEINFO *mf;-
258-
259 mf = (FILEINFO *)sh_xmalloc((sizeof (FILEINFO)), "mailcheck.c", 216);-
260 mf->name = filename;-
261 mf->msg = msg
msgDescription
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • Self test
? (char *)strcpy (sh_xmalloc((1 + strlen (msg)), "mailcheck.c", 218), (msg)) : (char *)
0-1
262 ((void *)0)-
263 ;-
264 mf->flags = 0;-
265-
266 return
executed 1 time by 1 test: return mf;
Executed by:
  • Self test
mf;
executed 1 time by 1 test: return mf;
Executed by:
  • Self test
1
267}-
268-
269static void-
270dispose_mail_file (mf)-
271 FILEINFO *mf;-
272{-
273 sh_xfree((mf->name), "mailcheck.c", 228);-
274 do { if (mf->msg
mf->msgDescription
TRUEnever evaluated
FALSEnever evaluated
) sh_xfree((mf->msg), "mailcheck.c", 229);
never executed: sh_xfree((mf->msg), "mailcheck.c", 229);
} while (0);
0
275 sh_xfree((mf), "mailcheck.c", 230);-
276}
never executed: end of block
0
277-
278-
279void-
280free_mail_files ()-
281{-
282 register int i;-
283-
284 for (i = 0; i < mailfiles_count
i < mailfiles_countDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
285 dispose_mail_file (mailfiles[i]);
never executed: dispose_mail_file (mailfiles[i]);
0
286-
287 if (mailfiles
mailfilesDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
288 sh_xfree((mailfiles), "mailcheck.c", 243);
never executed: sh_xfree((mailfiles), "mailcheck.c", 243);
0
289-
290 mailfiles_count = 0;-
291 mailfiles = (FILEINFO **)-
292 ((void *)0)-
293 ;-
294}
never executed: end of block
0
295-
296void-
297init_mail_dates ()-
298{-
299 if (mailfiles == 0
mailfiles == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-1
300 remember_mail_dates ();
executed 1 time by 1 test: remember_mail_dates ();
Executed by:
  • Self test
1
301}
executed 1 time by 1 test: end of block
Executed by:
  • Self test
1
302-
303-
304-
305-
306static int-
307file_mod_date_changed (i)-
308 int i;-
309{-
310 time_t mtime;-
311 struct stat finfo;-
312 char *file;-
313-
314 file = mailfiles[i]->name;-
315 mtime = mailfiles[i]->mod_time;-
316-
317 if (mailstat (file, &finfo) != 0
mailstat (file, &finfo) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
318 return
never executed: return (0);
(0);
never executed: return (0);
0
319-
320 if (finfo.st_size > 0
finfo.st_size > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
321 return
never executed: return (mtime < finfo. st_mtim.tv_sec );
(mtime < finfo.
never executed: return (mtime < finfo. st_mtim.tv_sec );
0
322 st_mtim.tv_sec
never executed: return (mtime < finfo. st_mtim.tv_sec );
0
323 );
never executed: return (mtime < finfo. st_mtim.tv_sec );
0
324-
325 if (finfo.st_size == 0
finfo.st_size == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& mailfiles[i]->file_size > 0
mailfiles[i]->file_size > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
326 do { mailfiles[i]->access_time = finfo.-
327 st_atim.tv_sec-
328 ; mailfiles[i]->mod_time = finfo.-
329 st_mtim.tv_sec-
330 ; mailfiles[i]->file_size = finfo.st_size; mailfiles[i]->flags |= 0x01; }
never executed: end of block
while (0);
0
331-
332 return
never executed: return (0);
(0);
never executed: return (0);
0
333}-
334-
335-
336static int-
337file_access_date_changed (i)-
338 int i;-
339{-
340 time_t atime;-
341 struct stat finfo;-
342 char *file;-
343-
344 file = mailfiles[i]->name;-
345 atime = mailfiles[i]->access_time;-
346-
347 if (mailstat (file, &finfo) != 0
mailstat (file, &finfo) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
348 return
never executed: return (0);
(0);
never executed: return (0);
0
349-
350 if (finfo.st_size > 0
finfo.st_size > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
351 return
never executed: return (atime < finfo. st_atim.tv_sec );
(atime < finfo.
never executed: return (atime < finfo. st_atim.tv_sec );
0
352 st_atim.tv_sec
never executed: return (atime < finfo. st_atim.tv_sec );
0
353 );
never executed: return (atime < finfo. st_atim.tv_sec );
0
354-
355 return
never executed: return (0);
(0);
never executed: return (0);
0
356}-
357-
358-
359static int-
360file_has_grown (i)-
361 int i;-
362{-
363 off_t size;-
364 struct stat finfo;-
365 char *file;-
366-
367 file = mailfiles[i]->name;-
368 size = mailfiles[i]->file_size;-
369-
370 return
never executed: return ((mailstat (file, &finfo) == 0) && (finfo.st_size > size));
((mailstat (file, &finfo) == 0) && (finfo.st_size > size));
never executed: return ((mailstat (file, &finfo) == 0) && (finfo.st_size > size));
0
371}-
372-
373-
374-
375-
376static char *-
377parse_mailpath_spec (str)-
378 char *str;-
379{-
380 char *s;-
381 int pass_next;-
382-
383 for (s = str, pass_next = 0; s
sDescription
TRUEnever evaluated
FALSEnever evaluated
&& *
*sDescription
TRUEnever evaluated
FALSEnever evaluated
s
*sDescription
TRUEnever evaluated
FALSEnever evaluated
; s++)
0
384 {-
385 if (pass_next
pass_nextDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
386 {-
387 pass_next = 0;-
388 continue;
never executed: continue;
0
389 }-
390 if (*
*s == '\\'Description
TRUEnever evaluated
FALSEnever evaluated
s == '\\'
*s == '\\'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
391 {-
392 pass_next++;-
393 continue;
never executed: continue;
0
394 }-
395 if (*
*s == '?'Description
TRUEnever evaluated
FALSEnever evaluated
s == '?'
*s == '?'Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*s == '%'Description
TRUEnever evaluated
FALSEnever evaluated
s == '%'
*s == '%'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
396 return
never executed: return s;
s;
never executed: return s;
0
397 }
never executed: end of block
0
398 return
never executed: return ((char *) ((void *)0) );
((char *)
never executed: return ((char *) ((void *)0) );
0
399 ((void *)0)
never executed: return ((char *) ((void *)0) );
0
400 );
never executed: return ((char *) ((void *)0) );
0
401}-
402-
403char *-
404make_default_mailpath ()-
405{-
406-
407 char *mp;-
408-
409 get_current_user_info ();-
410 mp = (char *)sh_xmalloc((2 + sizeof ("/var/mail") + strlen (current_user.user_name)), "mailcheck.c", 353);-
411 strcpy (mp, "/var/mail");-
412 mp[sizeof("/var/mail") - 1] = '/';-
413 strcpy (mp + sizeof ("/var/mail"), current_user.user_name);-
414 return
never executed: return (mp);
(mp);
never executed: return (mp);
0
415-
416-
417-
418}-
419-
420-
421-
422-
423-
424void-
425remember_mail_dates ()-
426{-
427 char *mailpaths;-
428 char *mailfile, *mp;-
429 int i = 0;-
430-
431 mailpaths = get_string_value ("MAILPATH");-
432-
433-
434 if (mailpaths == 0
mailpaths == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
&& (
(mailpaths = g...alue ("MAIL"))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
mailpaths = get_string_value ("MAIL"))
(mailpaths = g...alue ("MAIL"))Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-1
435 {-
436 add_mail_file (mailpaths, (char *)-
437 ((void *)0)-
438 );-
439 return;
executed 1 time by 1 test: return;
Executed by:
  • Self test
1
440 }-
441-
442 if (mailpaths == 0
mailpaths == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
443 {-
444 mailpaths = make_default_mailpath ();-
445 if (mailpaths
mailpathsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
446 {-
447 add_mail_file (mailpaths, (char *)-
448 ((void *)0)-
449 );-
450 sh_xfree((mailpaths), "mailcheck.c", 389);-
451 }
never executed: end of block
0
452 return;
never executed: return;
0
453 }-
454-
455 while (mailfile = extract_colon_unit (mailpaths, &i)
mailfile = ext...mailpaths, &i)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
456 {-
457 mp = parse_mailpath_spec (mailfile);-
458 if (mp
mpDescription
TRUEnever evaluated
FALSEnever evaluated
&& *
*mpDescription
TRUEnever evaluated
FALSEnever evaluated
mp
*mpDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
459 *
never executed: *mp++ = '\0';
mp++ = '\0';
never executed: *mp++ = '\0';
0
460 add_mail_file (mailfile, mp);-
461 sh_xfree((mailfile), "mailcheck.c", 400);-
462 }
never executed: end of block
0
463}
never executed: end of block
0
464void-
465check_mail ()-
466{-
467 char *current_mail_file, *message;-
468 int i, use_user_notification;-
469 char *dollar_underscore, *temp;-
470-
471 dollar_underscore = get_string_value ("_");-
472 if (dollar_underscore
dollar_underscoreDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
473 dollar_underscore = (char *)strcpy (sh_xmalloc((1 + strlen (dollar_underscore)), "mailcheck.c", 425), (dollar_underscore));
never executed: dollar_underscore = (char *)strcpy (sh_xmalloc((1 + strlen (dollar_underscore)), "mailcheck.c", 425), (dollar_underscore));
0
474-
475 for (i = 0; i < mailfiles_count
i < mailfiles_countDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
476 {-
477 current_mail_file = mailfiles[i]->name;-
478-
479 if (*
*current_mail_file == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
current_mail_file == '\0'
*current_mail_file == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
480 continue;
never executed: continue;
0
481-
482 if (file_mod_date_changed (i)
file_mod_date_changed (i)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
483 {-
484 int file_is_bigger;-
485-
486 use_user_notification = mailfiles[i]->msg != (char *)-
487 ((void *)0)-
488 ;-
489 message = mailfiles[i]->msg
mailfiles[i]->msgDescription
TRUEnever evaluated
FALSEnever evaluated
? mailfiles[i]->msg :
0
490 dcgettext (((void *)0), -
491 "You have mail in $_"-
492 , 5)-
493 ;-
494-
495 bind_variable ("_", current_mail_file, 0);-
496-
497-
498-
499-
500-
501-
502 file_is_bigger = file_has_grown (i);-
503-
504 update_mail_file (i);-
505-
506-
507-
508-
509-
510-
511-
512 if ((
(mailfiles[i]-...[i]->mod_time)Description
TRUEnever evaluated
FALSEnever evaluated
mailfiles[i]->access_time >= mailfiles[i]->mod_time)
(mailfiles[i]-...[i]->mod_time)Description
TRUEnever evaluated
FALSEnever evaluated
&& !file_is_bigger
!file_is_biggerDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
513 continue;
never executed: continue;
0
514-
515-
516-
517 if (use_user_notification == 0
use_user_notification == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(mailfiles[i]-...[i]->mod_time)Description
TRUEnever evaluated
FALSEnever evaluated
mailfiles[i]->access_time < mailfiles[i]->mod_time)
(mailfiles[i]-...[i]->mod_time)Description
TRUEnever evaluated
FALSEnever evaluated
&& file_is_bigger
file_is_biggerDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
518 message =
never executed: message = dcgettext (((void *)0), "You have new mail in $_" , 5) ;
0
519 dcgettext (((void *)0),
never executed: message = dcgettext (((void *)0), "You have new mail in $_" , 5) ;
0
520 "You have new mail in $_"
never executed: message = dcgettext (((void *)0), "You have new mail in $_" , 5) ;
0
521 , 5)
never executed: message = dcgettext (((void *)0), "You have new mail in $_" , 5) ;
0
522 ;
never executed: message = dcgettext (((void *)0), "You have new mail in $_" , 5) ;
0
523-
524-
525-
526 if (temp = expand_string_to_string (message, 0x001)
temp = expand_...essage, 0x001)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
527 {-
528 puts (temp);-
529 sh_xfree((temp), "mailcheck.c", 471);-
530 }
never executed: end of block
0
531 else-
532 putchar ('\n');
never executed: putchar ('\n');
0
533 }-
534-
535 if (mail_warning
mail_warningDescription
TRUEnever evaluated
FALSEnever evaluated
&& file_access_date_changed (i)
file_access_date_changed (i)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
536 {-
537 update_mail_file (i);-
538 printf (-
539 dcgettext (((void *)0), -
540 "The mail in %s has been read\n"-
541 , 5)-
542 , current_mail_file);-
543 }
never executed: end of block
0
544 }
never executed: end of block
0
545-
546 if (dollar_underscore
dollar_underscoreDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
547 {-
548 bind_variable ("_", dollar_underscore, 0);-
549 sh_xfree((dollar_underscore), "mailcheck.c", 487);-
550 }
never executed: end of block
0
551 else-
552 unbind_variable ("_");
never executed: unbind_variable ("_");
0
553}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2