Deduct temporary library path name from library path name.
Actually there's no need to fiddle with any automatic temp file name generation as we can just modify the library path name to generate a perfect temporary library path name.
This commit is contained in:
parent
c3434817da
commit
e22fc15589
2 changed files with 6 additions and 7 deletions
|
@ -25,7 +25,7 @@ LD65_LIB = $(datadir)/lib
|
|||
LD65_OBJ = $(datadir)/lib
|
||||
LD65_CFG = $(datadir)/cfg
|
||||
|
||||
CFLAGS += -MMD -MP -O -std=c89 -D_SVID_SOURCE -I common \
|
||||
CFLAGS += -MMD -MP -O -std=c89 -I common \
|
||||
-Wall -Wextra -Wno-char-subscripts $(USER_CFLAGS) \
|
||||
-DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
|
||||
-DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
|
||||
/* Name of the library file */
|
||||
const char* LibName = 0;
|
||||
static const char* NewLibName = 0;
|
||||
static char* NewLibName = 0;
|
||||
|
||||
/* File descriptor for the library file */
|
||||
static FILE* Lib = 0;
|
||||
|
@ -249,10 +249,9 @@ void LibOpen (const char* Name, int MustExist, int NeedTemp)
|
|||
if (NeedTemp) {
|
||||
|
||||
/* Create the temporary library name */
|
||||
NewLibName = tempnam (NULL, NULL);
|
||||
if (NewLibName == 0) {
|
||||
Error ("Cannot create temporary library file name: %s", strerror (errno));
|
||||
}
|
||||
NewLibName = xmalloc (strlen (Name) + strlen (".temp") + 1);
|
||||
strcpy (NewLibName, Name);
|
||||
strcat (NewLibName, ".temp");
|
||||
|
||||
/* Create the temporary library */
|
||||
NewLib = fopen (NewLibName, "w+b");
|
||||
|
@ -386,7 +385,7 @@ void LibClose (void)
|
|||
LibName, strerror (errno));
|
||||
}
|
||||
|
||||
/* Copy the new library to the new one */
|
||||
/* Copy the temporary library to the new one */
|
||||
fseek (NewLib, 0, SEEK_SET);
|
||||
while ((Count = fread (Buf, 1, sizeof (Buf), NewLib)) != 0) {
|
||||
if (fwrite (Buf, 1, Count, Lib) != Count) {
|
||||
|
|
Loading…
Add table
Reference in a new issue