sw_build: Bug squashing.
[sw-tools] / src / sw_build.c
index 3ce3f7c..7b30193 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: sw_build.c,v 1.4 1999/09/16 12:53:46 mdw Exp $
+ * $Id$
  *
  * Management of build processes
  *
  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: sw_build.c,v $
- * Revision 1.4  1999/09/16 12:53:46  mdw
- * Some systems have uname(2) return > 0.
- *
- * Revision 1.3  1999/09/10 15:27:33  mdw
- * Include `%'-escape substitution.
- *
- * Revision 1.2  1999/07/16 12:50:24  mdw
- * Improve exit status display.  New interface from `doto' project.
- *
- * Revision 1.1.1.1  1999/06/02 16:53:34  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "config.h"
@@ -54,6 +37,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <time.h>
 
 #include <sys/types.h>
 #include <sys/time.h>
@@ -421,8 +405,10 @@ int sw_run(int argc, char *argv[])
          } break;
 
          default: {
-           const static char msg[] = "\n[Unexpected packet, type %i]\n";
-           p->output(e, msg, sizeof(msg) - 1);
+           dstr d = DSTR_INIT;
+           dstr_putf(&d, "\n[Unexpected packet, type %i]\n", t);
+           p->output(e, d.buf, d.len);
+           dstr_destroy(&d);
          } break;
        }
       }
@@ -460,7 +446,7 @@ int sw_run(int argc, char *argv[])
   {
     archcons *aa;
     for (aa = a; aa; aa = aa->cdr)
-      free(a->car->r);
+      free(aa->car->r);
   }
 
   /* --- Tidy away the architecture list --- */
@@ -503,7 +489,7 @@ static void putf(sw_remote *r, FILE *fp, const char *fmt, ...)
   va_list ap;
   dstr d = DSTR_INIT;
   va_start(ap, fmt);
-  dstr_vputf(&d, fmt, ap);
+  dstr_vputf(&d, fmt, &ap);
   va_end(ap);
   if (r)
     pksend(r, PKTYPE_DATA, d.buf, d.len);