make(1): make memory allocation simpler in meta_create and meta_oodate

Since there is only a single variable left that needs to be freed at the
end (and probably never actually needs to be freed since nobody defines
an environment variable named .OBJDIR), there is no need to loop over
these variables.
This commit is contained in:
rillig 2020-10-31 12:04:24 +00:00
parent f015e31c48
commit ff78291f2d
1 changed files with 7 additions and 16 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: meta.c,v 1.135 2020/10/31 11:54:33 rillig Exp $ */
/* $NetBSD: meta.c,v 1.136 2020/10/31 12:04:24 rillig Exp $ */
/*
* Implement 'meta' mode.
@ -474,13 +474,11 @@ meta_create(BuildMon *pbm, GNode *gn)
const char *tname;
char *fname;
const char *cp;
void *p[5]; /* >= possible uses */
int i;
void *objdir_freeIt;
mf.fp = NULL;
i = 0;
dname = Var_Value(".OBJDIR", gn, &p[i++]);
dname = Var_Value(".OBJDIR", gn, &objdir_freeIt);
tname = GNode_VarTarget(gn);
/* if this succeeds objdir is realpath of dname */
@ -549,9 +547,7 @@ meta_create(BuildMon *pbm, GNode *gn)
gn->type |= OP_SILENT;
}
out:
for (i--; i >= 0; i--) {
bmake_free(p[i]);
}
bmake_free(objdir_freeIt);
return mf.fp;
}
@ -1090,16 +1086,13 @@ meta_oodate(GNode *gn, Boolean oodate)
FILE *fp;
Boolean needOODATE = FALSE;
StringList *missingFiles;
void *pa[4]; /* >= possible uses */
int i;
int have_filemon = FALSE;
void *objdir_freeIt;
if (oodate)
return oodate; /* we're done */
i = 0;
dname = Var_Value(".OBJDIR", gn, &pa[i++]);
dname = Var_Value(".OBJDIR", gn, &objdir_freeIt);
tname = GNode_VarTarget(gn);
/* if this succeeds fname3 is realpath of dname */
@ -1612,9 +1605,7 @@ meta_oodate(GNode *gn, Boolean oodate)
}
oodate_out:
for (i--; i >= 0; i--) {
bmake_free(pa[i]);
}
bmake_free(objdir_freeIt);
return oodate;
}