Module Name:    src
Committed By:   rillig
Date:           Fri Nov 27 08:18:14 UTC 2020

Modified Files:
        src/usr.bin/make: meta.c

Log Message:
make(1): inline meta_file_t for printCMD

This struct had only been necessary as long as printCMD was a callback
to Lst_ForEach or Lst_ForEachUntil.


To generate a diff of this commit:
cvs rdiff -u -r1.149 -r1.150 src/usr.bin/make/meta.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/meta.c
diff -u src/usr.bin/make/meta.c:1.149 src/usr.bin/make/meta.c:1.150
--- src/usr.bin/make/meta.c:1.149	Fri Nov 27 08:07:26 2020
+++ src/usr.bin/make/meta.c	Fri Nov 27 08:18:14 2020
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.c,v 1.149 2020/11/27 08:07:26 rillig Exp $ */
+/*      $NetBSD: meta.c,v 1.150 2020/11/27 08:18:14 rillig Exp $ */
 
 /*
  * Implement 'meta' mode.
@@ -370,32 +370,27 @@ any_is_submake(GNode *gn)
     return FALSE;
 }
 
-typedef struct meta_file_s {
-    FILE *fp;
-    GNode *gn;
-} meta_file_t;
-
 static void
-printCMD(const char *cmd, meta_file_t *mfp)
+printCMD(const char *cmd, FILE *fp, GNode *gn)
 {
     char *cmd_freeIt = NULL;
 
     if (strchr(cmd, '$')) {
-	(void)Var_Subst(cmd, mfp->gn, VARE_WANTRES, &cmd_freeIt);
+	(void)Var_Subst(cmd, gn, VARE_WANTRES, &cmd_freeIt);
 	/* TODO: handle errors */
 	cmd = cmd_freeIt;
     }
-    fprintf(mfp->fp, "CMD %s\n", cmd);
+    fprintf(fp, "CMD %s\n", cmd);
     free(cmd_freeIt);
 }
 
 static void
-printCMDs(GNode *gn, meta_file_t *mf)
+printCMDs(GNode *gn, FILE *fp)
 {
     GNodeListNode *ln;
 
     for (ln = gn->commands->first; ln != NULL; ln = ln->next)
-	printCMD(ln->datum, mf);
+	printCMD(ln->datum, fp, gn);
 }
 
 /*
@@ -474,7 +469,7 @@ meta_needed(GNode *gn, const char *dname
 static FILE *
 meta_create(BuildMon *pbm, GNode *gn)
 {
-    meta_file_t mf;
+    FILE *fp;
     char buf[MAXPATHLEN];
     char objdir[MAXPATHLEN];
     char **ptr;
@@ -484,7 +479,7 @@ meta_create(BuildMon *pbm, GNode *gn)
     const char *cp;
     void *objdir_freeIt;
 
-    mf.fp = NULL;
+    fp = NULL;
 
     dname = Var_Value(".OBJDIR", gn, &objdir_freeIt);
     tname = GNode_VarTarget(gn);
@@ -524,28 +519,26 @@ meta_create(BuildMon *pbm, GNode *gn)
     DEBUG1(META, "meta_create: %s\n", fname);
 #endif
 
-    if ((mf.fp = fopen(fname, "w")) == NULL)
+    if ((fp = fopen(fname, "w")) == NULL)
 	err(1, "Could not open meta file '%s'", fname);
 
-    fprintf(mf.fp, "# Meta data file %s\n", fname);
-
-    mf.gn = gn;
+    fprintf(fp, "# Meta data file %s\n", fname);
 
-    printCMDs(gn, &mf);
+    printCMDs(gn, fp);
 
-    fprintf(mf.fp, "CWD %s\n", getcwd(buf, sizeof buf));
-    fprintf(mf.fp, "TARGET %s\n", tname);
+    fprintf(fp, "CWD %s\n", getcwd(buf, sizeof buf));
+    fprintf(fp, "TARGET %s\n", tname);
     cp = GNode_VarOodate(gn);
     if (cp && *cp) {
-	    fprintf(mf.fp, "OODATE %s\n", cp);
+	fprintf(fp, "OODATE %s\n", cp);
     }
     if (metaEnv) {
 	for (ptr = environ; *ptr != NULL; ptr++)
-	    fprintf(mf.fp, "ENV %s\n", *ptr);
+	    fprintf(fp, "ENV %s\n", *ptr);
     }
 
-    fprintf(mf.fp, "-- command output --\n");
-    fflush(mf.fp);
+    fprintf(fp, "-- command output --\n");
+    fflush(fp);
 
     Var_Append(".MAKE.META.FILES", fname, VAR_GLOBAL);
     Var_Append(".MAKE.META.CREATED", fname, VAR_GLOBAL);
@@ -557,7 +550,7 @@ meta_create(BuildMon *pbm, GNode *gn)
  out:
     bmake_free(objdir_freeIt);
 
-    return mf.fp;
+    return fp;
 }
 
 static Boolean

Reply via email to