summaryrefslogtreecommitdiff
path: root/qconfig.c
diff options
context:
space:
mode:
authorRuben Undheim <ruben.undheim@gmail.com>2018-07-12 22:31:02 +0200
committerRuben Undheim <ruben.undheim@gmail.com>2018-07-12 22:31:02 +0200
commit178038ed02d94aaeb341792cce5e3d8f6767e0a5 (patch)
tree12a24a9583adaf2c581866018998d2f43c861e49 /qconfig.c
parent1fdeebded00f8f9c13229dcf48aca690513c7b00 (diff)
Imported 1.3.103
Diffstat (limited to 'qconfig.c')
-rw-r--r--qconfig.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/qconfig.c b/qconfig.c
index de963c8..380315c 100644
--- a/qconfig.c
+++ b/qconfig.c
@@ -108,7 +108,6 @@ post_config(void)
PitchX[i]);
PitchX[v] = PitchX[i];
}
- PitchX[i] = PitchX[v];
if (PitchY[i] != 0.0 && PitchY[i] != PitchY[h]) {
Fprintf(stderr, "Multiple horizontal route layers at different"
" pitches. Using smaller pitch %g, will route on"
@@ -116,7 +115,13 @@ post_config(void)
PitchY[i]);
PitchY[h] = PitchY[i];
}
- PitchY[i] = PitchY[h];
+ }
+
+ // 2nd pass: Make sure all layers have a pitch in both X and Y
+ // even if not specified separately in the configuration or def files.
+ for (i = 0; i < Num_layers; i++) {
+ if (PitchX[i] == 0.0) PitchX[i] = PitchX[v];
+ if (PitchY[i] == 0.0) PitchY[i] = PitchY[h];
}
} /* post_config() */
@@ -173,7 +178,7 @@ int read_config(FILE *fconfig, int is_info)
lines = 0;
while (!feof(fconfig)) {
- fgets(line, MAX_LINE_LEN, fconfig);
+ if (fgets(line, MAX_LINE_LEN, fconfig) == NULL) break;
lines++;
lineptr = line;
while (isspace(*lineptr)) lineptr++;