lef/defWrite.c: reworked kareefardi_fix-def-write
This commit is contained in:
parent
a6aac9c309
commit
af5b7f10cf
|
|
@ -2965,13 +2965,6 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
|
||||||
TxError("Please name the cell before generating DEF.\n");
|
TxError("Please name the cell before generating DEF.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
char * outName_part ;
|
|
||||||
if((outName_part = mallocMagic(strlen(outName)+strlen("_part")+1)) != NULL) {
|
|
||||||
outName_part[0] = '\0';
|
|
||||||
strcat(outName_part, outName);
|
|
||||||
strcat(outName_part, "_part");
|
|
||||||
}
|
|
||||||
//
|
|
||||||
|
|
||||||
f = lefFileOpen(def, outName, ".def", "w", &filename);
|
f = lefFileOpen(def, outName, ".def", "w", &filename);
|
||||||
|
|
||||||
|
|
@ -2990,6 +2983,17 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
|
||||||
}
|
}
|
||||||
filename1 = StrDup((char **)NULL, filename);
|
filename1 = StrDup((char **)NULL, filename);
|
||||||
|
|
||||||
|
char *outName_part;
|
||||||
|
{ /* use the 'filename' given back from lefFileOpen() */
|
||||||
|
outName_part = mallocMagic(strlen(filename)+strlen("_part")+1);
|
||||||
|
ASSERT(outName_part, "outName_part");
|
||||||
|
strcpy(outName_part, filename);
|
||||||
|
char *cp = strrchr(outName_part, '.');
|
||||||
|
if (cp)
|
||||||
|
*cp = '\0'; /* remove extn */
|
||||||
|
strcat(outName_part, "_part");
|
||||||
|
}
|
||||||
|
|
||||||
defWriteHeader(def, f, scale, units);
|
defWriteHeader(def, f, scale, units);
|
||||||
|
|
||||||
HashInit(&defViaTable, 256, HT_STRINGKEYS);
|
HashInit(&defViaTable, 256, HT_STRINGKEYS);
|
||||||
|
|
@ -3036,8 +3040,8 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
|
||||||
/* If part 2 cannot be opened, remove part 1 */
|
/* If part 2 cannot be opened, remove part 1 */
|
||||||
fclose(f);
|
fclose(f);
|
||||||
unlink(filename1);
|
unlink(filename1);
|
||||||
freeMagic(filename1);
|
freeMagic(filename1);
|
||||||
freeMagic(outName_part);
|
freeMagic(outName_part);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
filename2 = StrDup((char **)NULL, filename);
|
filename2 = StrDup((char **)NULL, filename);
|
||||||
|
|
@ -3156,7 +3160,7 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
|
||||||
unlink(filename1);
|
unlink(filename1);
|
||||||
freeMagic(filename1);
|
freeMagic(filename1);
|
||||||
freeMagic(filename2);
|
freeMagic(filename2);
|
||||||
freeMagic(outName_part);
|
freeMagic(outName_part);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
while (fgets(line, sizeof line, f2) != NULL) fprintf(f, "%s", line);
|
while (fgets(line, sizeof line, f2) != NULL) fprintf(f, "%s", line);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue