24 |
FILE *ofile; |
FILE *ofile; |
25 |
int interactive; |
int interactive; |
26 |
|
|
27 |
|
static list_t command_list; |
28 |
|
|
29 |
const char *program_version = "mail (" PACKAGE_STRING ")"; |
const char *program_version = "mail (" PACKAGE_STRING ")"; |
30 |
static char doc[] = N_("GNU mail -- the standard /bin/mail interface"); |
static char doc[] = N_("GNU mail -- the standard /bin/mail interface"); |
31 |
static char args_doc[] = N_("[address...]"); |
static char args_doc[] = N_("[address...]"); |
69 |
switch (key) |
switch (key) |
70 |
{ |
{ |
71 |
case 'e': |
case 'e': |
72 |
util_do_command ("set mode=exist"); |
util_cache_command (&command_list, "set mode=exist"); |
73 |
break; |
break; |
74 |
|
|
75 |
case 'f': |
case 'f': |
88 |
|
|
89 |
case 'p': |
case 'p': |
90 |
case 'r': |
case 'r': |
91 |
util_do_command ("set mode=print"); |
util_cache_command (&command_list, "set mode=print"); |
92 |
break; |
break; |
93 |
|
|
94 |
case 'q': |
case 'q': |
95 |
util_do_command ("set quit"); |
util_cache_command (&command_list, "set quit"); |
96 |
break; |
break; |
97 |
|
|
98 |
case 't': |
case 't': |
99 |
util_do_command ("set mode=send"); |
util_cache_command (&command_list, "set mode=send"); |
100 |
break; |
break; |
101 |
|
|
102 |
case 'H': |
case 'H': |
103 |
util_do_command ("set mode=headers"); |
util_cache_command (&command_list, "set mode=headers"); |
104 |
break; |
break; |
105 |
|
|
106 |
case 'i': |
case 'i': |
107 |
util_do_command ("set ignore"); |
util_cache_command (&command_list, "set ignore"); |
108 |
break; |
break; |
109 |
|
|
110 |
case 'n': |
case 'n': |
112 |
break; |
break; |
113 |
|
|
114 |
case 'N': |
case 'N': |
115 |
util_do_command ("set noheader"); |
util_cache_command (&command_list, "set noheader"); |
116 |
break; |
break; |
117 |
|
|
118 |
case 's': |
case 's': |
119 |
util_do_command ("set mode=send"); |
util_cache_command (&command_list, "set mode=send"); |
120 |
util_do_command ("set noasksub"); |
util_cache_command (&command_list, "set noasksub"); |
121 |
util_do_command ("set subject=\"%s\"", arg); |
util_cache_command (&command_list, "set subject=\"%s\"", arg); |
122 |
break; |
break; |
123 |
|
|
124 |
case 'u': |
case 'u': |
126 |
break; |
break; |
127 |
|
|
128 |
case 'F': |
case 'F': |
129 |
util_do_command ("set byname"); |
util_cache_command (&command_list, "set byname"); |
130 |
break; |
break; |
131 |
|
|
132 |
case ARGP_KEY_ARG: |
case ARGP_KEY_ARG: |
148 |
sizeof (char *) * (state->arg_num + 2)); |
sizeof (char *) * (state->arg_num + 2)); |
149 |
args->args[state->arg_num] = arg; |
args->args[state->arg_num] = arg; |
150 |
args->args[state->arg_num + 1] = NULL; |
args->args[state->arg_num + 1] = NULL; |
151 |
util_do_command ("set mode=send"); |
util_cache_command (&command_list, "set mode=send"); |
152 |
} |
} |
153 |
break; |
break; |
154 |
|
|
305 |
util_do_command ("set toplines=5"); |
util_do_command ("set toplines=5"); |
306 |
util_do_command ("set autoinc"); |
util_do_command ("set autoinc"); |
307 |
util_do_command ("set regex"); |
util_do_command ("set regex"); |
308 |
|
/* Start in mail reading mode */ |
309 |
|
util_do_command ("set mode=read"); |
310 |
|
util_do_command ("set noquit"); |
311 |
|
|
312 |
/* Set the default mailer to sendmail. */ |
/* Set the default mailer to sendmail. */ |
313 |
{ |
{ |
317 |
util_setenv ("sendmail", mailer_name, Mail_env_string, 1); |
util_setenv ("sendmail", mailer_name, Mail_env_string, 1); |
318 |
} |
} |
319 |
|
|
|
/* GNU extensions to the environment, for sparky's sanity */ |
|
|
util_do_command ("set mode=read"); |
|
|
util_do_command ("set nobyname"); |
|
|
util_do_command ("set rc"); |
|
|
util_do_command ("set noquit"); |
|
320 |
|
|
321 |
args.args = NULL; |
args.args = NULL; |
322 |
args.file = NULL; |
args.file = NULL; |
331 |
if (util_getenv (NULL, "rc", Mail_env_boolean, 0) == 0) |
if (util_getenv (NULL, "rc", Mail_env_boolean, 0) == 0) |
332 |
util_do_command ("source %s", SITE_MAIL_RC); |
util_do_command ("source %s", SITE_MAIL_RC); |
333 |
util_do_command ("source %s", getenv ("MAILRC")); |
util_do_command ("source %s", getenv ("MAILRC")); |
334 |
|
|
335 |
|
util_run_cached_commands (&command_list); |
336 |
|
|
337 |
if (!interactive) |
if (!interactive) |
338 |
{ |
{ |
339 |
util_do_command ("set nocrt"); |
util_do_command ("set nocrt"); |