1
0
mirror of https://github.com/cc65/cc65.git synced 2024-09-27 19:55:09 +00:00

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:
Oliver Schmidt 2014-02-10 21:28:03 +01:00
parent c3434817da
commit e22fc15589
2 changed files with 6 additions and 7 deletions

View File

@ -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)

View File

@ -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) {