return 1;
}
- args = (struct arglist *) calloc((size_t) 1, sizeof(struct arglist));
+ args = (struct arglist *) mh_xcalloc ((size_t) 1, sizeof(struct arglist));
if (arglist_tail)
arglist_tail->a_next = args;
static void
process (char *folder, char *fname, int ofilen, int ofilec)
{
- char *cp = NULL;
- FILE *fp = NULL;
+ /* static to prevent "might be clobbered" warning from gcc 4.9.2: */
+ static char *cp;
+ static FILE *fp;
struct mcomp *c1;
struct stat st;
struct arglist *ap;
/* volatile to prevent "might be clobbered" warning from gcc: */
char *volatile fname2 = fname ? fname : "(stdin)";
+ cp = NULL;
+ fp = NULL;
+
switch (setjmp (env)) {
case OK:
if (fname) {
if (ontty != PITTY)
SIGNAL (SIGINT, intrser);
mhlfile (fp, cp, ofilen, ofilec); /* FALL THROUGH! */
+ free (cp);
for (ap = arglist_head; ap; ap = ap->a_next) {
fmt_free(ap->a_fmt, 0);
if (arglist_head)
fmt_free(NULL, 1);
- default:
+ default:
if (ontty != PITTY)
SIGNAL (SIGINT, SIG_IGN);
- if (mhl_action == NULL && fp != stdin)
+ if (mhl_action == NULL && fp != stdin && fp != NULL)
fclose (fp);
- free (cp);
if (holder.c_text) {
free (holder.c_text);
holder.c_text = NULL;
(q = &pq)->pq_next = NULL;
while ((cp = getname (ap))) {
- if ((p = (struct pqpair *) calloc ((size_t) 1, sizeof(*p))) == NULL)
+ if ((p = (struct pqpair *) mh_xcalloc ((size_t) 1, sizeof(*p))) == NULL)
adios (NULL, "unable to allocate pqpair memory");
else {
if ((mp = getm (cp, NULL, 0, error, sizeof(error))) == NULL) {
{
struct mcomp *c1;
- if ((c1 = (struct mcomp *) calloc ((size_t) 1, sizeof(*c1))) == NULL)
+ if ((c1 = (struct mcomp *) mh_xcalloc ((size_t) 1, sizeof(*c1))) == NULL)
adios (NULL, "unable to allocate comp memory");
else {
c1->c_flags = flags & ~INIT;