Skip to content

Commit e2e76be

Browse files
committed
Merge branch 'master' into nhb-rewrite-version-parser
Picking up the version array cache updates.
2 parents fcf5e8c + e61d0f2 commit e2e76be

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/dsk.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ typedef struct filename_entry {
6666
*/
6767
static struct {
6868
char name[MAXPATHLEN]; /* lowercase unversioned file name */
69+
ino_t dir_ino; /* inode of the directory */
6970
struct timespec lastMTime; /* modification time of the directory */
7071
int allocated; /* number of entries in the files array */
7172
int lastUsed; /* index of the last entry in use in files array */
@@ -3055,11 +3056,13 @@ static int get_version_array(char *dir, char *file)
30553056
*Lisp_errno = errno;
30563057
return(0);
30573058
}
3058-
if (0 == strcmp(lcased_file, VA.name) &&
3059+
if (sbuf.st_ino == VA.dir_ino &&
3060+
0 == strcmp(lcased_file, VA.name) &&
30593061
sbuf.st_mtim.tv_sec == VA.lastMTime.tv_sec &&
30603062
sbuf.st_mtim.tv_nsec == VA.lastMTime.tv_nsec) {
30613063
return (1);
30623064
} else {
3065+
VA.dir_ino = sbuf.st_ino;
30633066
VA.lastMTime = sbuf.st_mtim;
30643067
strcpy(VA.name, lcased_file);
30653068
}

src/subr.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -416,11 +416,11 @@ void OP_subrcall(int subr_no, int argnum) {
416416
case sb_LISP_FINISH: {
417417
int status;
418418
POP_SUBR_ARGS;
419-
if (argnum == 0 || args[0] == NIL || args[0] == ATOM_T)
420-
lisp_finish(EXIT_SUCCESS);
421-
N_GETNUMBER(args[0], status, exit_fail);
419+
if (argnum == 0 || argnum == 1 || (argnum == 2 && args[1] == NIL)) lisp_finish(EXIT_SUCCESS);
420+
if (argnum > 2) lisp_finish(EXIT_FAILURE);
421+
N_GETNUMBER(args[1], status, exit_fail);
422422
lisp_finish(status);
423-
exit_fail:
423+
exit_fail:
424424
lisp_finish(EXIT_FAILURE);
425425
break;
426426
}

0 commit comments

Comments
 (0)