@@ -620,7 +620,8 @@ int fscache_lstat(const char *filename, struct stat *st)
620
620
int fscache_is_mount_point (struct strbuf * path )
621
621
{
622
622
int dirlen , base , len ;
623
- struct fsentry key [2 ], * fse ;
623
+ struct heap_fsentry key [2 ];
624
+ struct fsentry * fse ;
624
625
struct fscache * cache = fscache_getcache ();
625
626
626
627
if (!cache || !do_fscache_enabled (cache , path -> buf ))
@@ -637,9 +638,9 @@ int fscache_is_mount_point(struct strbuf *path)
637
638
dirlen = base ? base - 1 : 0 ;
638
639
639
640
/* lookup entry for path + name in cache */
640
- fsentry_init (key , NULL , path -> buf , dirlen );
641
- fsentry_init (key + 1 , key , path -> buf + base , len - base );
642
- fse = fscache_get (cache , key + 1 );
641
+ fsentry_init (& key [ 0 ]. ent , NULL , path -> buf , dirlen );
642
+ fsentry_init (& key [ 1 ]. ent , & key [ 0 ]. ent , path -> buf + base , len - base );
643
+ fse = fscache_get (cache , & key [ 1 ]. ent );
643
644
if (!fse )
644
645
return mingw_is_mount_point (path );
645
646
return fse -> reparse_tag == IO_REPARSE_TAG_MOUNT_POINT ;
0 commit comments