From 94b2a0793f55c1d107c261c5bea8e42dd7e2da2a Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 14 Jul 2011 23:29:43 +0000 Subject: Fix NXTEXT link error git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3787 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/fs/fat/fs_fat32dirent.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'nuttx/fs/fat') diff --git a/nuttx/fs/fat/fs_fat32dirent.c b/nuttx/fs/fat/fs_fat32dirent.c index d386adc46..e5bc99ccb 100644 --- a/nuttx/fs/fat/fs_fat32dirent.c +++ b/nuttx/fs/fat/fs_fat32dirent.c @@ -986,7 +986,7 @@ static inline int fat_findlfnentry(struct fat_mountpt_s *fs, * order.. from last to first). */ - lastseq = LDIR_SEQ | nentries; + lastseq = LDIR0_LAST | nentries; seqno = lastseq; /* Search, beginning with the current sector, for a directory entry this @@ -1274,7 +1274,7 @@ static inline int fat_allocatelfnentry(struct fat_mountpt_s *fs, /* Check if this directory entry is empty */ - ch = direntry[DIR_NAME]; + ch = LDIR_GETSEQ(direntry); if (ch == DIR0_ALLEMPTY || ch == DIR0_EMPTY) { /* It is empty -- we have found a directory entry. Is this the @@ -1288,7 +1288,7 @@ static inline int fat_allocatelfnentry(struct fat_mountpt_s *fs, dirinfo->fd_seq.ds_lfnsector = fs->fs_currentsector; dirinfo->fd_seq.ds_lfnoffset = diroffset; dirinfo->fd_seq.ds_lfncluster = dirinfo->dir.fd_currcluster; - } + } /* Is this last entry we need (i.e., the entry for the short * file name entry)? @@ -1790,6 +1790,7 @@ static int fat_putlfname(struct fat_mountpt_s *fs, struct fat_dirinfo_s *dirinfo dirinfo->dir.fd_currcluster = dirinfo->fd_seq.ds_lfncluster; dirinfo->dir.fd_currsector = dirinfo->fd_seq.ds_lfnsector; + dirinfo->dir.fd_index = dirinfo->fd_seq.ds_lfnoffset / DIR_SIZE; /* Make sure that the sector containing the "last" long file name entry * is in the sector cache (it probably is not). @@ -1807,7 +1808,7 @@ static int fat_putlfname(struct fat_mountpt_s *fs, struct fat_dirinfo_s *dirinfo { /* Get the string offset associated with the directory entry. */ - offset = nentries * LDIR_MAXLFNCHARS; + offset = (nentries - 1) * LDIR_MAXLFNCHARS; /* Get a reference to the current directory entry */ -- cgit v1.2.3