mhstoreinfo_t
mhstoreinfo_create (CT *ct, char *pwd, const char *csw, int asw, int vsw) {
- mhstoreinfo_t info = mh_xmalloc (sizeof *info);
+ mhstoreinfo_t info;
+ NEW(info);
info->cts = ct;
info->cwd = pwd;
info->autosw = asw;
* store any contents.
*/
if ((cp = context_find (nmhstorage)) && *cp)
- info->dir = getcpy (cp);
+ info->dir = mh_xstrdup(cp);
else
info->dir = getcpy (info->cwd);
return NOTOK;
}
- if ((base = (CT *) mh_xcalloc ((size_t) (i + 1), sizeof(*base))) == NULL)
- adios (NULL, "out of memory");
-
+ base = mh_xcalloc(i + 1, sizeof *base);
ctq = base;
for (ctp = info->cts; *ctp; ctp++) {
p = *ctp;
ct = *ctq++;
if (store_content (ct, NULL, info) == NOTOK) {
losing:
- free ((char *) base);
+ free(base);
return NOTOK;
}
goto losing;
}
- free ((char *) base);
+ free(base);
return OK;
}
/* Read the folder. */
if ((mp = folder_read (folder, 0))) {
/* Link file into folder */
- msgnum = folder_addmsg (&mp, filename, 0, 0, 0, 0, (char *)0);
+ msgnum = folder_addmsg (&mp, filename, 0, 0, 0, 0, NULL);
} else {
advise (NULL, "unable to read folder %s", folder);
return NOTOK;
free(cp);
return;
}
- if (cp)
- free(cp);
+ mh_xfree(cp);
}
/*
ct->c_storeproc = add (cp, NULL);
}
- if (cp)
- free(cp);
+ mh_xfree(cp);
}
enum clobber_policy_t
clobber_policy (const char *value) {
if (value == NULL || ! strcasecmp (value, "always")) {
- } else if (! strcasecmp (value, "auto")) {
+ return NMH_CLOBBER_ALWAYS;
+ }
+ if (! strcasecmp (value, "auto")) {
return NMH_CLOBBER_AUTO;
- } else if (! strcasecmp (value, "suffix")) {
+ }
+ if (! strcasecmp (value, "suffix")) {
return NMH_CLOBBER_SUFFIX;
- } else if (! strcasecmp (value, "ask")) {
+ }
+ if (! strcasecmp (value, "ask")) {
return NMH_CLOBBER_ASK;
- } else if (! strcasecmp (value, "never")) {
+ }
+ if (! strcasecmp (value, "never")) {
return NMH_CLOBBER_NEVER;
- } else {
- adios (NULL, "invalid argument, %s, to clobber", value);
}
- return NMH_CLOBBER_ALWAYS;
+ adios (NULL, "invalid argument, %s, to clobber", value);
}
if (isatty (fileno (stdin))) {
char *prompt =
concat ("Overwrite \"", file, "\" [y/n/rename]? ", NULL);
- ans = getans (prompt, answer);
+ ans = read_switch_multiword (prompt, answer);
free (prompt);
} else {
/* Overwrite, that's what nmh used to do. And warn. */
file = NULL;
++info->files_not_clobbered;
} else {
- char *newline = strchr (buf, '\n');
- if (newline) {
- *newline = '\0';
- }
+ TrimSuffixC(buf, '\n');
}
free (file);