--- ray/src/cv/arch2rad.c 1990/12/11 08:45:46 1.1 +++ ray/src/cv/arch2rad.c 1991/02/14 13:18:30 1.5 @@ -194,23 +194,22 @@ FILE *fp; { char buf[MAXSTR]; int i, n; + register int c; /* get file name */ if (fgets(buf, MAXSTR, fp) == NULL) goto readerr; - if ((n = strlen(buf)) < 1) - goto readerr; - buf[n-1] = '\0'; + buf[strlen(buf)-1] = '\0'; fhead.filename = savestr(buf); /* get layers */ fhead.layer[0] = "Worksheet"; for (i = 1; i <= 8; i++) { - if (fscanf(fp, "Layer No.%d", &n) != 1 || n != i) + if (fscanf(fp, "L%*[^0-8]%d", &n) != 1 || n != i) goto readerr; - while ((n = getc(fp)) != EOF && (n == ' ' || n == '\t')) + while ((c = getc(fp)) != EOF && (c == ' ' || c == '\t')) ; - if (n == EOF) + if (c == EOF) goto readerr; - ungetc(n, fp); + ungetc(c, fp); if (fgets(buf, MAXSTR, fp) == NULL) goto readerr; buf[strlen(buf)-1] = '\0'; @@ -488,12 +487,12 @@ FILE *fp; } /* put out faces */ sprintf(buf, "op%d", ++nopens); - putface(openmod, buf, "ref", &newp, 0, 4, 7, 3, fp); - putface(openmod, buf, "opp", &newp, 1, 2, 6, 5, fp); - putface(openmod, buf, "end1", &newp, 3, 7, 6, 2, fp); - putface(openmod, buf, "end2", &newp, 0, 1, 5, 4, fp); - putface(openmod, buf, "bot", &newp, 0, 3, 2, 1, fp); - putface(openmod, buf, "top", &newp, 4, 5, 6, 7, fp); + putface(openmod, buf, "ref", &newp, 4, 5, 1, 0, fp); + putface(openmod, buf, "opp", &newp, 2, 6, 7, 3, fp); + putface(openmod, buf, "end1", &newp, 5, 6, 2, 1, fp); + putface(openmod, buf, "end2", &newp, 3, 7, 4, 0, fp); + putface(openmod, buf, "bot", &newp, 1, 2, 3, 0, fp); + putface(openmod, buf, "top", &newp, 7, 6, 5, 4, fp); } @@ -506,7 +505,7 @@ register RULEHD *rp; ID tmpid; if (rp->qflg & FL(Q_LAY)) { /* check layer */ - tmpid.name = NULL; + tmpid.name = fhead.layer[bp->layer]; tmpid.number = bp->layer; if (!matchid(&tmpid, &idm(rp)[Q_LAY])) return(0); @@ -543,12 +542,12 @@ FILE *fp; return; bn = blkname(bp); if (ff & 1<p, 3, 7, 4, 0, fp); + putface(m, bn, "ref", &bp->p, 4, 5, 1, 0, fp); if (ff & 1<p, 5, 6, 2, 1, fp); + putface(m, bn, "opp", &bp->p, 2, 6, 7, 3, fp); if (ff & 1<p, 2, 6, 7, 3, fp); - putface(m, bn, "end2", &bp->p, 4, 5, 1, 0, fp); + putface(m, bn, "end1", &bp->p, 5, 6, 2, 1, fp); + putface(m, bn, "end2", &bp->p, 3, 7, 4, 0, fp); } if (ff & 1<p, 1, 2, 3, 0, fp); @@ -564,20 +563,22 @@ register BLOCK *bp; static char nambuf[32]; static int blkcnt = 0; register char *nam; - register int i; + register int i, j; + sprintf(nambuf, "l%d.", bp->layer); + i = strlen(nambuf); nam = bp->refid.name; - if (nam == NULL) - nam = fhead.layer[bp->layer]; if (nam == NULL) { - sprintf(nambuf, "l%d.", bp->layer); - i = strlen(nambuf); - } else { - for (i = 0; i < 12 && nam[i]; i++) { - if (nam[i] == ' ' || nam[i] == '\t') - nambuf[i] = '_'; + nam = fhead.layer[bp->layer]; + if (nam != NULL) + i = 0; + } + if (nam != NULL) { + for (j = 0; j < 12 && nam[j]; j++) { + if (nam[j] == ' ' || nam[j] == '\t') + nambuf[i++] = '_'; else - nambuf[i] = nam[i]; + nambuf[i++] = nam[j]; } nambuf[i++] = '.'; }