30 |
{ |
{ |
31 |
if (argc == 1) |
if (argc == 1) |
32 |
{ |
{ |
33 |
util_error ("%c%s requires an argument", |
char *escape = "~"; |
34 |
util_find_env ("escape")->value[0], argv[0]); |
util_getenv (&escape, "escape", Mail_env_string, 0); |
35 |
|
util_error ("%c%s requires an argument", escape[0], argv[0]); |
36 |
return 1; |
return 1; |
37 |
} |
} |
38 |
return 0; |
return 0; |
103 |
int |
int |
104 |
var_sign(int argc, char **argv, struct send_environ *env) |
var_sign(int argc, char **argv, struct send_environ *env) |
105 |
{ |
{ |
106 |
struct mail_env_entry *p; |
char *p; |
107 |
|
|
108 |
(void)argc; (void)env; |
(void)argc; (void)env; |
109 |
|
|
110 |
if (isupper(argv[0][0])) |
if (util_getenv (&p, isupper (argv[0][0]) ? "Sign" : "sign", |
111 |
p = util_find_env("Sign"); |
Mail_env_string, 1) == 0) |
|
else |
|
|
p = util_find_env("sign"); |
|
|
if (p->set) |
|
112 |
{ |
{ |
113 |
if (isupper(argv[0][0])) |
if (isupper (argv[0][0])) |
114 |
{ |
{ |
115 |
char *name = util_fullpath(p->value); |
char *name = util_fullpath (p); |
116 |
FILE *fp = fopen(name, "r"); |
FILE *fp = fopen(name, "r"); |
117 |
char *buf = NULL; |
char *buf = NULL; |
118 |
size_t n = 0; |
size_t n = 0; |
132 |
free(name); |
free(name); |
133 |
} |
} |
134 |
else |
else |
135 |
fprintf(ofile, "%s", p->value); |
fprintf(ofile, "%s", p); |
136 |
var_continue(); |
var_continue(); |
137 |
} |
} |
|
else |
|
|
util_error("\"sign\" not set"); |
|
138 |
return 0; |
return 0; |
139 |
} |
} |
140 |
|
|
228 |
|
|
229 |
/* ~i[var-name] */ |
/* ~i[var-name] */ |
230 |
int |
int |
231 |
var_insert(int argc, char **argv, struct send_environ *env) |
var_insert (int argc, char **argv, struct send_environ *env) |
232 |
{ |
{ |
233 |
|
struct mail_env_entry *env; |
234 |
|
|
235 |
(void)env; |
(void)env; |
236 |
if (var_check_args (argc, argv)) |
if (var_check_args (argc, argv)) |
237 |
return 1; |
return 1; |
238 |
fprintf(ofile, "%s", util_find_env(argv[1])->value); |
env = util_find_env (argv[1], 0); |
239 |
|
if (env) |
240 |
|
switch (env->type) |
241 |
|
{ |
242 |
|
case Mail_env_string: |
243 |
|
fprintf (ofile, "%s", env->value.string); |
244 |
|
break; |
245 |
|
|
246 |
|
case Mail_env_number: |
247 |
|
fprintf (ofile, "%d", env->value.number); |
248 |
|
break; |
249 |
|
|
250 |
|
case Mail_env_boolean: |
251 |
|
fprintf (ofile, "%s", env->set ? "yes" : "no"); |
252 |
|
break; |
253 |
|
|
254 |
|
default: |
255 |
|
break; |
256 |
|
} |
257 |
return 0; |
return 0; |
258 |
} |
} |
259 |
|
|
273 |
char buffer[512]; |
char buffer[512]; |
274 |
off_t off = 0; |
off_t off = 0; |
275 |
size_t n = 0; |
size_t n = 0; |
276 |
char *prefix = util_find_env("indentprefix")->value; |
char *prefix = "\t"; |
277 |
|
|
278 |
if (mailbox_get_message(mbox, cursor, &mesg) != 0) |
if (mailbox_get_message(mbox, cursor, &mesg) != 0) |
279 |
return 1; |
return 1; |
280 |
|
|
281 |
fprintf(stdout, "Interpolating: %d\n", cursor); |
fprintf(stdout, "Interpolating: %d\n", cursor); |
282 |
|
|
283 |
|
util_getenv(&prefix, "indentprefix", Mail_env_string, 0); |
284 |
|
|
285 |
if (islower(argv[0][0])) |
if (islower(argv[0][0])) |
286 |
{ |
{ |
287 |
size_t i, num = 0; |
size_t i, num = 0; |