};
void app_msgarg(struct msgs_array *, char *);
+int open_form(char **, char *);
#include <h/mh.h>
#include <h/utils.h>
#include <stdlib.h>
+#include <fcntl.h>
#include <errno.h>
/*
msgs->msgs = mh_xrealloc(msgs->msgs, (msgs->max+=MAXMSGS)*sizeof(*msgs->msgs));
msgs->msgs[msgs->size++] = cp;
}
+
+/* Open a form or components file */
+int
+open_form(char **form, char *def)
+{
+ int in;
+ if (*form) {
+ if ((in = open (etcpath (*form), O_RDONLY)) == NOTOK)
+ adios (*form, "unable to open form file");
+ } else {
+ if ((in = open (etcpath (def), O_RDONLY)) == NOTOK)
+ adios (def, "unable to open default components file");
+ *form = def;
+ }
+ return in;
+}
*/
#include <h/mh.h>
+#include <h/utils.h>
#include <fcntl.h>
static struct swit switches[] = {
if ((in = open (form = getcpy (m_name (mp->lowsel)), O_RDONLY)) == NOTOK)
adios (form, "unable to open message");
- } else {
- /*
- * Open a component or forms file
- */
- if (form) {
- if ((in = open (etcpath (form), O_RDONLY)) == NOTOK)
- adios (form, "unable to open form file");
- } else {
- if ((in = open (etcpath (components), O_RDONLY)) == NOTOK)
- adios (components, "unable to open default components file");
- form = components;
- }
- }
+ } else
+ in = open_form(&form, components);
try_it_again:
strncpy (drft, m_draft (dfolder, file, use, &isdf), sizeof(drft));
*/
#include <h/mh.h>
+#include <h/utils.h>
#include <fcntl.h>
static struct swit switches[] = {
if (file && (msg || folder))
adios (NULL, "can't mix files and folders/msgs");
- if (form) {
- if ((in = open (etcpath (form), O_RDONLY)) == NOTOK)
- adios (form, "unable to open form file");
- } else {
- if ((in = open (etcpath (distcomps), O_RDONLY)) == NOTOK)
- adios (distcomps, "unable to open default components file");
- form = distcomps;
- }
+ in = open_form(&form, distcomps);
try_it_again:
strncpy (drft, m_draft (dfolder, dmsg, NOUSE, &isdf), sizeof(drft));
if (!form)
form = digestcomps;
in = build_form (form, digest, volume, issue);
- } else {
- if (form) {
- if ((in = open (etcpath (form), O_RDONLY)) == NOTOK)
- adios (form, "unable to open form file");
- } else {
- if ((in = open (etcpath (forwcomps), O_RDONLY)) == NOTOK)
- adios (forwcomps, "unable to open default components file");
- form = forwcomps;
- }
- }
+ } else
+ in = open_form(&form, forwcomps);
if ((out = creat (drft, m_gmprot ())) == NOTOK)
adios (drft, "unable to create");