117 |
|
|
118 |
if (!buf) |
if (!buf) |
119 |
{ |
{ |
120 |
sieve_error ("not enough memory"); |
sieve_compile_error (sieve_filename, sieve_line_num, "not enough memory"); |
121 |
abort (); |
abort (); |
122 |
} |
} |
123 |
|
|
218 |
|
|
219 |
if (stat (name, &st)) |
if (stat (name, &st)) |
220 |
{ |
{ |
221 |
sieve_error ("can't stat `%s': %s", name, strerror (errno)); |
sieve_compile_error (sieve_filename, sieve_line_num, |
222 |
yyerror ("can't include file"); |
"can't stat `%s': %s", name, strerror (errno)); |
223 |
return 1; |
return 1; |
224 |
} |
} |
225 |
|
|
232 |
{ |
{ |
233 |
yyerror ("recursive inclusion"); |
yyerror ("recursive inclusion"); |
234 |
if (ctx->prev) |
if (ctx->prev) |
235 |
sieve_error ("%s:%d: `%s' already included here", |
sieve_compile_error (ctx->prev->filename, ctx->prev->line, |
236 |
ctx->prev->filename, ctx->prev->line, name); |
"`%s' already included here", |
237 |
|
name); |
238 |
else |
else |
239 |
sieve_error ("`%s' already included at top level", |
sieve_compile_error (sieve_filename, sieve_line_num, |
240 |
name); |
"`%s' already included at top level", |
241 |
|
name); |
242 |
return 1; |
return 1; |
243 |
} |
} |
244 |
|
|
245 |
fp = fopen (name, "r"); |
fp = fopen (name, "r"); |
246 |
if (!fp) |
if (!fp) |
247 |
{ |
{ |
248 |
sieve_error ("can't open `%s': %s", name, strerror (errno)); |
sieve_compile_error (sieve_filename, sieve_line_num, |
249 |
yyerror ("can't include file"); |
"can't open `%s': %s", name, strerror (errno)); |
250 |
return 1; |
return 1; |
251 |
} |
} |
252 |
|
|
472 |
status = list_create (&string_list); |
status = list_create (&string_list); |
473 |
if (status) |
if (status) |
474 |
{ |
{ |
475 |
sieve_error ("list_create: %s", mu_errstring (status)); |
sieve_compile_error (sieve_filename, sieve_line_num, |
476 |
|
"list_create: %s", mu_errstring (status)); |
477 |
exit (1); |
exit (1); |
478 |
} |
} |
479 |
} |
} |