Ver código fonte

Allow for cumulative -V flags.

ceriel 37 anos atrás
pai
commit
ecf8a9b28f
1 arquivos alterados com 7 adições e 10 exclusões
  1. 7 10
      util/ack/pc/em_pc.c

+ 7 - 10
util/ack/pc/em_pc.c

@@ -31,7 +31,6 @@ int     toterr;
 int     parent;
 
 char    *eeflag;
-char    *vvflag = "-V";
 int	no_pemflag = 0 ;
 char    *pemflag[MAX_FLAG];
 char    *eflag;
@@ -146,7 +145,7 @@ char *flag(f) char *f; {
 		wflag = f;
 		break;
 	case 'V':
-		vvflag = f;
+		initsizes(f+2);
 		return(0);
 	case '{':
 		if ( no_pemflag>=MAX_FLAG ) {
@@ -169,11 +168,10 @@ char *flag(f) char *f; {
 	return(0);
 }
 
-initsizes(f) FILE *f; {
+initsizes(vvflag) char *vvflag; {
 	register c, i;
-	register char *p;
+	register char *p = vvflag;
 
-	p = vvflag + 2;
 	while (c = *p++) {
 		i = atoi(p);
 		while (*p >= '0' && *p <= '9')
@@ -196,10 +194,6 @@ initsizes(f) FILE *f; {
 	    (sz_long != 4)) {
 		fatal("bad V-flag %s",vvflag);
 	}
-	if (sz_head == 0)
-		sz_head = 6*sz_word + 2*sz_addr;
-	for (i = 0; i <= sz_last; i++)
-		fprintf(f, "%d\n",sizes[i]);
 }
 
 /* ------------------ calling sequences -------------------- */
@@ -214,7 +208,10 @@ pem(p,q) char *p,*q; {
 	d = tempfile('d');
 	if ((erfil = fopen(d,"w")) == NULL)
 		syserr(d);
-	initsizes(erfil);
+	if (sz_head == 0)
+		sz_head = 6*sz_word + 2*sz_addr;
+	for (i = 0; i <= sz_last; i++)
+		fprintf(erfil, "%d\n",sizes[i]);
 	fprintf(erfil,"%s\n",basename(source));
 	for ( i=0 ; i<no_pemflag ; i++ ) fprintf(erfil,"%s\n",pemflag[i]);
 	fclose(erfil);