lef/defWrite.c: reworked kareefardi_fix-def-write

This commit is contained in:
Darryl L. Miles 2024-10-08 04:49:24 +01:00 committed by Tim Edwards
parent a6aac9c309
commit af5b7f10cf
1 changed files with 14 additions and 10 deletions

View File

@ -2965,13 +2965,6 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
TxError("Please name the cell before generating DEF.\n");
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);
@ -2990,6 +2983,17 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
}
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);
HashInit(&defViaTable, 256, HT_STRINGKEYS);
@ -3036,8 +3040,8 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
/* If part 2 cannot be opened, remove part 1 */
fclose(f);
unlink(filename1);
freeMagic(filename1);
freeMagic(outName_part);
freeMagic(filename1);
freeMagic(outName_part);
return;
}
filename2 = StrDup((char **)NULL, filename);
@ -3156,7 +3160,7 @@ DefWriteCell(def, outName, allSpecial, units, analRetentive)
unlink(filename1);
freeMagic(filename1);
freeMagic(filename2);
freeMagic(outName_part);
freeMagic(outName_part);
return;
}
while (fgets(line, sizeof line, f2) != NULL) fprintf(f, "%s", line);