- Timestamp:
- May 23, 2017, 8:28:27 AM (9 years ago)
- Author:
- erdmann
- Message:
-
merging Valerys latest changes
- Location:
- branches/lars
- Files:
-
- 7 edited
- . (modified) (1 prop)
- src/ifs/fat32.c (modified) (8 diffs)
- src/ifs/ifsea.c (modified) (2 diffs)
- src/ifs/ifsfile.c (modified) (3 diffs)
- src/ifs/ifsfind.c (modified) (33 diffs)
- src/ifs/ifsmount.c (modified) (2 diffs)
- src/include/fat32ifs.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/lars
- Property svn:mergeinfo set to
-
branches/lars/src/ifs/fat32.c
r250 r256 6088 6088 pNew1->u.File.ulCreateTimestp = pNew1->u.File.ulLastModifiedTimestp; 6089 6089 pNew1->u.File.ulLastAccessedTimestp = pNew1->u.File.ulLastModifiedTimestp; 6090 (削除) (削除ここまで)6091 (削除) (削除ここまで)6092 6090 } 6093 6091 } … … 7221 7219 if (!pNew || !pszLongName) 7222 7220 { 7223 (削除) Message("Modify directory: Invalid parameters 1"); (削除ここまで)7224 7221 return ERROR_INVALID_PARAMETER; 7225 7222 } … … 7260 7257 if (!pOld) 7261 7258 { 7262 (削除) Message("Modify directory: Invalid parameter 2 "); (削除ここまで)7263 7259 return ERROR_INVALID_PARAMETER; 7264 7260 } … … 7268 7264 if (!pDirectory) 7269 7265 { 7270 (削除) Message("Modify directory: Not enough memory"); (削除ここまで)7271 7266 return ERROR_NOT_ENOUGH_MEMORY; 7272 7267 } … … 7517 7512 sizeof(DIRENTRY1) * ((pWork-2)->u.File.bSecondaryCount + 1)); 7518 7513 7519 (削除) memcpy(pWork++, pNew, sizeof (DIRENTRY1)); (削除ここまで)7520 (削除) memcpy(pWork++, pStreamNew, sizeof (DIRENTRY1)); (削除ここまで)7521 (削除) (削除ここまで)7522 7514 //if (ulPrevCluster == 1) 7523 7515 // // reading root directory on FAT12/FAT16 … … 7555 7547 7556 7548 pWork = CompactDir1(pDir2, ulBytesToRead, usEntriesNeeded); 7557 (削除) //pWork = fSetLongName(pWork, pszLongName, bCheck); (削除ここまで)7558 (削除) //memcpy(pWork, &DirNew, sizeof (DIRENTRY)); (削除ここまで)7559 7549 pWork3 = fSetLongName1(pWork+2, pszLongName, &usNameHash); 7560 7550 pNew->u.File.bSecondaryCount = pWork3 - pWork - 1; … … 7620 7610 // } 7621 7611 //else 7622 ulNextCluster = GetNextCluster(pVolInfo, pDirSHInfo, ulCluster); (削除) //// (削除ここまで)7612 ulNextCluster = GetNextCluster(pVolInfo, pDirSHInfo, ulCluster);(追記) (追記ここまで) 7623 7613 if (!ulNextCluster) 7624 7614 ulNextCluster = pVolInfo->ulFatEof; … … 7653 7643 { 7654 7644 free(pDirectory); 7655 (削除) Message("Modify Directory: Disk Full!"); (削除ここまで)7656 7645 return ERROR_DISK_FULL; 7657 7646 } -
branches/lars/src/ifs/ifsea.c
r249 r256 797 797 else 798 798 { 799 (追記) pDirNew->bEntryType = ENTRY_TYPE_FILE; (追記ここまで) 800 (追記) DirStreamNew.bEntryType = ENTRY_TYPE_STREAM_EXT; (追記ここまで) 799 801 pDirNew->u.File.usFileAttr = FILE_HIDDEN | FILE_SYSTEM | FILE_READONLY; 800 802 DirStreamNew.u.Stream.ullValidDataLen = pFEAL->cbList; … … 846 848 else 847 849 { 850 (追記) pDirNew->bEntryType = ENTRY_TYPE_FILE; (追記ここまで) 851 (追記) DirStreamNew.bEntryType = ENTRY_TYPE_STREAM_EXT; (追記ここまで) 848 852 DirStreamNew.u.Stream.ullValidDataLen = pFEAL->cbList; 849 853 DirStreamNew.u.Stream.ullDataLen = -
branches/lars/src/ifs/ifsfile.c
r252 r256 199 199 if (!(usOpenFlag & FILE_CREATE)) 200 200 { 201 rc = ERROR_OPEN_FAILED; (削除) //// (削除ここまで)201 rc = ERROR_OPEN_FAILED;(追記) (追記ここまで) 202 202 goto FS_OPENCREATEEXIT; 203 203 } … … 288 288 if (size > (ULONGLONG)LONG_MAX) 289 289 size = (ULONGLONG)LONG_MAX; 290 (追記) } (追記ここまで) 291 (追記) (追記ここまで) 292 (追記) if (pVolInfo->bFatType == FAT_TYPE_EXFAT) (追記ここまで) 293 (追記) { (追記ここまで) 294 (追記) PDIRENTRY1 pDirEntry = (PDIRENTRY1)&DirEntry; (追記ここまで) 295 (追記) pDirEntry->bEntryType = ENTRY_TYPE_FILE; (追記ここまで) 296 (追記) DirEntryStream.u.Stream.bAllocPossible = 1; (追記ここまで) 297 (追記) DirEntryStream.u.Stream.bNoFatChain = pOpenInfo->pSHInfo->fNoFatChain; (追記ここまで) 298 (追記) DirEntryStream.bEntryType = ENTRY_TYPE_STREAM_EXT; (追記ここまで) 299 (追記) DirEntryStream.u.Stream.ulFirstClus = ulCluster; (追記ここまで) 300 (追記) DirEntryStream.u.Stream.ullValidDataLen = 0; (追記ここまで) 301 (追記) DirEntryStream.u.Stream.ullDataLen = 0; (追記ここまで) 290 302 } 291 303 … … 313 325 (size / pVolInfo->ulClusterSize) * pVolInfo->ulClusterSize + 314 326 (size % pVolInfo->ulClusterSize ? pVolInfo->ulClusterSize : 0); 327 (追記) DirEntryStream.u.Stream.bAllocPossible = 1; (追記ここまで) 315 328 DirEntryStream.u.Stream.bNoFatChain = pOpenInfo->pSHInfo->fNoFatChain; 316 329 } -
branches/lars/src/ifs/ifsfind.c
r250 r256 280 280 281 281 memcpy(&pFindInfo->pInfo->EAOP, &EAOP, sizeof (EAOP)); 282 pFindInfo-> (削除) (削除ここまで)usEntriesPerBlock = pVolInfo->ulBlockSize / sizeof (DIRENTRY);283 pFindInfo-> (削除) (削除ここまで)usBlockIndex = 0;282 pFindInfo->(追記) pInfo-> (追記ここまで)usEntriesPerBlock = pVolInfo->ulBlockSize / sizeof (DIRENTRY); 283 pFindInfo->(追記) pInfo-> (追記ここまで)usBlockIndex = 0; 284 284 pFindInfo->pInfo->rgClusters[0] = ulDirCluster; 285 pFindInfo-> (削除) (削除ここまで)usTotalBlocks = usNumBlocks;285 pFindInfo->(追記) pInfo-> (追記ここまで)usTotalBlocks = usNumBlocks; 286 286 pFindInfo->pInfo->pDirEntries = 287 287 (PDIRENTRY)(&pFindInfo->pInfo->rgClusters[usNumClusters]); … … 299 299 if (ulDirCluster == 1) 300 300 // FAT12/FAT16 root directory case 301 pFindInfo-> (削除) (削除ここまで)ulMaxEntry = pVolInfo->BootSect.bpb.RootDirEntries;301 pFindInfo->(追記) pInfo-> (追記ここまで)ulMaxEntry = pVolInfo->BootSect.bpb.RootDirEntries; 302 302 else 303 pFindInfo-> (削除) (削除ここまで)ulMaxEntry = ((ULONG)pVolInfo->ulClusterSize / sizeof (DIRENTRY)) * usNumClusters;303 pFindInfo->(追記) pInfo-> (追記ここまで)ulMaxEntry = ((ULONG)pVolInfo->ulClusterSize / sizeof (DIRENTRY)) * usNumClusters; 304 304 305 305 if (!GetBlock(pVolInfo, pFindInfo, 0)) … … 309 309 } 310 310 311 pFindInfo-> (削除) (削除ここまで)ulCurEntry = 0;311 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry = 0; 312 312 313 313 if (usAttr & 0x0040) 314 314 { 315 pFindInfo-> (削除) (削除ここまで)fLongNames = TRUE;315 pFindInfo->(追記) pInfo-> (追記ここまで)fLongNames = TRUE; 316 316 usAttr &= ~0x0040; 317 317 } 318 318 else 319 pFindInfo-> (削除) (削除ここまで)fLongNames = FALSE;320 321 pFindInfo-> (削除) (削除ここまで)bMustAttr = (BYTE)(usAttr >> 8);319 pFindInfo->(追記) pInfo-> (追記ここまで)fLongNames = FALSE; 320 321 pFindInfo->(追記) pInfo-> (追記ここまで)bMustAttr = (BYTE)(usAttr >> 8); 322 322 usAttr |= (FILE_READONLY | FILE_ARCHIVED); 323 323 usAttr &= (FILE_READONLY | FILE_HIDDEN | FILE_SYSTEM | FILE_DIRECTORY | FILE_ARCHIVED); 324 pFindInfo-> (削除) (削除ここまで)bAttr = (BYTE)~usAttr;324 pFindInfo->(追記) pInfo-> (追記ここまで)bAttr = (BYTE)~usAttr; 325 325 326 326 if (usLevel == FIL_QUERYEASFROMLIST || usLevel == FIL_QUERYEASFROMLISTL) … … 356 356 { 357 357 if (usFlags == FF_GETPOS) 358 *pulOrdinal = pFindInfo-> (削除) (削除ここまで)ulCurEntry - 1;358 *pulOrdinal = pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry - 1; 359 359 } 360 360 if (rc) … … 413 413 if (f32Parms.fMessageActive & LOG_FS) 414 414 Message("FS_FINDFROMNAME, curpos = %lu, requested %lu", 415 pFindInfo-> (削除) (削除ここまで)ulCurEntry, ulPosition);416 417 pFindInfo-> (削除) (削除ここまで)ulCurEntry = ulPosition + 1;415 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry, ulPosition); 416 417 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry = ulPosition + 1; 418 418 return FS_FINDNEXT(pfsfsi, pfsfsd, pData, cbData, pcMatch, usLevel, usFlags); 419 419 } … … 565 565 { 566 566 if (usFlags == FF_GETPOS) 567 *pulOrdinal = pFindInfo-> (削除) (削除ここまで)ulCurEntry - 1;567 *pulOrdinal = pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry - 1; 568 568 } 569 569 if (rc) … … 610 610 611 611 memset(szLongName, 0, sizeof szLongName); 612 pDir = &pFindInfo->pInfo->pDirEntries[pFindInfo-> (削除) ulCurEntry % pFind (削除ここまで)Info->usEntriesPerBlock];612 pDir = &pFindInfo->pInfo->pDirEntries[pFindInfo->(追記) pInfo->ulCurEntry % pFindInfo->p (追記ここまで)Info->usEntriesPerBlock]; 613 613 bCheck1 = 0; 614 while (pFindInfo-> (削除) ulCurEntry < pFind (削除ここまで)Info->ulMaxEntry)614 while (pFindInfo->(追記) pInfo->ulCurEntry < pFindInfo->p (追記ここまで)Info->ulMaxEntry) 615 615 { 616 616 memset(szShortName, 0, sizeof(szShortName)); // vs 617 617 618 usBlockIndex = (USHORT)(pFindInfo-> (削除) ulCurEntry / pFind (削除ここまで)Info->usEntriesPerBlock);619 if (usBlockIndex != pFindInfo-> (削除) (削除ここまで)usBlockIndex)618 usBlockIndex = (USHORT)(pFindInfo->(追記) pInfo->ulCurEntry / pFindInfo->p (追記ここまで)Info->usEntriesPerBlock); 619 if (usBlockIndex != pFindInfo->(追記) pInfo-> (追記ここまで)usBlockIndex) 620 620 { 621 621 if (!GetBlock(pVolInfo, pFindInfo, usBlockIndex)) 622 622 return ERROR_SYS_INTERNAL; 623 pDir = &pFindInfo->pInfo->pDirEntries[pFindInfo-> (削除) ulCurEntry % pFind (削除ここまで)Info->usEntriesPerBlock];623 pDir = &pFindInfo->pInfo->pDirEntries[pFindInfo->(追記) pInfo->ulCurEntry % pFindInfo->p (追記ここまで)Info->usEntriesPerBlock]; 624 624 } 625 625 … … 632 632 else if ((pDir->bAttr & FILE_VOLID) != FILE_VOLID) 633 633 { 634 if (!(pDir->bAttr & pFindInfo-> (削除) (削除ここまで)bAttr))634 if (!(pDir->bAttr & pFindInfo->(追記) pInfo-> (追記ここまで)bAttr)) 635 635 { 636 636 BYTE bCheck2 = GetVFATCheckSum(pDir); … … 682 682 FSH_UPPERCASE(szUpperName, sizeof szUpperName, szUpperName); 683 683 684 if( !pFindInfo-> (削除) (削除ここまで)fLongNames )684 if( !pFindInfo->(追記) pInfo-> (追記ここまで)fLongNames ) 685 685 strcpy( szLongName, szShortName ); 686 686 … … 688 688 Check for MUST HAVE attributes 689 689 */ 690 if (!rc && pFindInfo-> (削除) (削除ここまで)bMustAttr)691 { (削除) (削除ここまで)692 if ((pDir->bAttr & pFindInfo-> (削除) bMustAttr) != pFind (削除ここまで)Info->bMustAttr)690 if (!rc && pFindInfo->(追記) pInfo-> (追記ここまで)bMustAttr) 691 {(追記) (追記ここまで) 692 if ((pDir->bAttr & pFindInfo->(追記) pInfo->bMustAttr) != pFindInfo->p (追記ここまで)Info->bMustAttr) 693 693 rc = 1; 694 694 } … … 701 701 } 702 702 if (!rc && f32Parms.fMessageActive & LOG_FIND) 703 Message("%lu : %s, %s", pFindInfo-> (削除) (削除ここまで)ulCurEntry, szLongName, szShortName );703 Message("%lu : %s, %s", pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry, szLongName, szShortName ); 704 704 705 705 if (!rc && usLevel == FIL_STANDARD) … … 726 726 *ppData = pfFind->achName + pfFind->cchName + 1; 727 727 (*pcbData) -= *ppData - pStart; 728 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;728 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 729 729 return 0; 730 730 } … … 752 752 *ppData = pfFind->achName + pfFind->cchName + 1; 753 753 (*pcbData) -= *ppData - pStart; 754 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;754 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 755 755 return 0; 756 756 } … … 801 801 *ppData = pfFind->achName + pfFind->cchName + 1; 802 802 (*pcbData) -= *ppData - pStart; 803 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;803 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 804 804 return 0; 805 805 } … … 850 850 *ppData = pfFind->achName + pfFind->cchName + 1; 851 851 (*pcbData) -= *ppData - pStart; 852 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;852 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 853 853 return 0; 854 854 } … … 935 935 (*pcbData) -= (strlen(szLongName) + 1); 936 936 937 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;937 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 938 938 return rc; 939 939 } … … 1020 1020 (*pcbData) -= (strlen(szLongName) + 1); 1021 1021 1022 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1022 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1023 1023 return rc; 1024 1024 } … … 1027 1027 } 1028 1028 } 1029 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1029 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1030 1030 pDir++; 1031 1031 } … … 1054 1054 1055 1055 memset(szLongName, 0, sizeof szLongName); 1056 pDir = (PDIRENTRY1)&pFindInfo->pInfo->pDirEntries[pFindInfo-> (削除) ulCurEntry % pFind (削除ここまで)Info->usEntriesPerBlock];1057 while (pFindInfo-> (削除) ulCurEntry < pFind (削除ここまで)Info->ulMaxEntry)1058 { (削除) (削除ここまで)1059 usBlockIndex = (USHORT)(pFindInfo-> (削除) ulCurEntry / pFind (削除ここまで)Info->usEntriesPerBlock);1060 if (usBlockIndex != pFindInfo-> (削除) (削除ここまで)usBlockIndex)1056 pDir = (PDIRENTRY1)&pFindInfo->pInfo->pDirEntries[pFindInfo->(追記) pInfo->ulCurEntry % pFindInfo->p (追記ここまで)Info->usEntriesPerBlock]; 1057 while (pFindInfo->(追記) pInfo->ulCurEntry < pFindInfo->p (追記ここまで)Info->ulMaxEntry) 1058 {(追記) (追記ここまで) 1059 usBlockIndex = (USHORT)(pFindInfo->(追記) pInfo->ulCurEntry / pFindInfo->p (追記ここまで)Info->usEntriesPerBlock); 1060 if (usBlockIndex != pFindInfo->(追記) pInfo-> (追記ここまで)usBlockIndex) 1061 1061 { 1062 1062 if (!GetBlock(pVolInfo, pFindInfo, usBlockIndex)) 1063 1063 return ERROR_SYS_INTERNAL; 1064 pDir = (PDIRENTRY1)&pFindInfo->pInfo->pDirEntries[pFindInfo-> (削除) ulCurEntry % pFind (削除ここまで)Info->usEntriesPerBlock];1064 pDir = (PDIRENTRY1)&pFindInfo->pInfo->pDirEntries[pFindInfo->(追記) pInfo->ulCurEntry % pFindInfo->p (追記ここまで)Info->usEntriesPerBlock]; 1065 1065 } 1066 1066 … … 1068 1068 { 1069 1069 // end of directory reached 1070 pFindInfo-> (削除) ulMaxEntry = pFind (削除ここまで)Info->ulCurEntry;1070 pFindInfo->(追記) pInfo->ulMaxEntry = pFindInfo->p (追記ここまで)Info->ulCurEntry; 1071 1071 return ERROR_NO_MORE_FILES; 1072 1072 } … … 1104 1104 Check for MUST HAVE attributes 1105 1105 */ 1106 if (!rc && pFindInfo-> (削除) (削除ここまで)bMustAttr)1107 { (削除) (削除ここまで)1108 if ((attrFile & pFindInfo-> (削除) bMustAttr) != pFind (削除ここまで)Info->bMustAttr)1106 if (!rc && pFindInfo->(追記) pInfo-> (追記ここまで)bMustAttr) 1107 {(追記) (追記ここまで) 1108 if ((attrFile & pFindInfo->(追記) pInfo->bMustAttr) != pFindInfo->p (追記ここまで)Info->bMustAttr) 1109 1109 rc = 1; 1110 1110 } … … 1122 1122 *ppData = pfFind->achName + pfFind->cchName + 1; 1123 1123 (*pcbData) -= *ppData - pStart; 1124 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1124 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1125 1125 return 0; 1126 1126 } … … 1137 1137 *ppData = pfFind->achName + pfFind->cchName + 1; 1138 1138 (*pcbData) -= *ppData - pStart; 1139 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1139 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1140 1140 return 0; 1141 1141 } … … 1177 1177 *ppData = pfFind->achName + pfFind->cchName + 1; 1178 1178 (*pcbData) -= *ppData - pStart; 1179 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1179 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1180 1180 return 0; 1181 1181 } … … 1216 1216 *ppData = pfFind->achName + pfFind->cchName + 1; 1217 1217 (*pcbData) -= *ppData - pStart; 1218 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1218 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1219 1219 return 0; 1220 1220 } … … 1288 1288 (*pcbData) -= (usNameLen + 1); 1289 1289 1290 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1290 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1291 1291 return rc; 1292 1292 } … … 1360 1360 (*pcbData) -= (usNameLen + 1); 1361 1361 1362 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1362 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1363 1363 return rc; 1364 1364 } … … 1415 1415 fEAS = pDir->u.File.fEAS; 1416 1416 1417 if (!(pDir->u.File.usFileAttr & pFindInfo-> (削除) (削除ここまで)bAttr))1417 if (!(pDir->u.File.usFileAttr & pFindInfo->(追記) pInfo-> (追記ここまで)bAttr)) 1418 1418 { 1419 1419 if (usLevel == FIL_STANDARD) … … 1501 1501 } 1502 1502 } 1503 pFindInfo-> (削除) (削除ここまで)ulCurEntry++;1503 pFindInfo->(追記) pInfo-> (追記ここまで)ulCurEntry++; 1504 1504 pDir++; 1505 1505 } … … 1744 1744 } 1745 1745 1746 if (usBlockIndex >= pFindInfo-> (削除) (削除ここまで)usTotalBlocks)1746 if (usBlockIndex >= pFindInfo->(追記) pInfo-> (追記ここまで)usTotalBlocks) 1747 1747 return FALSE; 1748 1748 … … 1751 1751 if (fRootDir) 1752 1752 { 1753 usIndex = pFindInfo-> (削除) (削除ここまで)usBlockIndex / usBlocksPerCluster;1753 usIndex = pFindInfo->(追記) pInfo-> (追記ここまで)usBlockIndex / usBlocksPerCluster; 1754 1754 ulSector = pVolInfo->BootSect.bpb.ReservedSectors + 1755 1755 pVolInfo->BootSect.bpb.SectorsPerFat * pVolInfo->BootSect.bpb.NumberOfFATs + … … 1757 1757 usSectorsRead = usIndex * pVolInfo->SectorsPerCluster; 1758 1758 } 1759 for (usIndex = pFindInfo-> (削除) (削除ここまで)usBlockIndex / usBlocksPerCluster; usIndex < usClusterIndex; usIndex++)1759 for (usIndex = pFindInfo->(追記) pInfo-> (追記ここまで)usBlockIndex / usBlocksPerCluster; usIndex < usClusterIndex; usIndex++) 1760 1760 { 1761 1761 if (fRootDir) … … 1814 1814 pFindInfo->pInfo->rgClusters[0] = 1; 1815 1815 1816 pFindInfo-> (削除) (削除ここまで)usBlockIndex = usBlockIndex;1816 pFindInfo->(追記) pInfo-> (追記ここまで)usBlockIndex = usBlockIndex; 1817 1817 return TRUE; 1818 1818 } -
branches/lars/src/ifs/ifsmount.c
r249 r256 628 628 fGetSetVolLabel(pVolInfo, INFO_RETRIEVE, pszVolLabel, &usSize); 629 629 // prevent writing the FSInfo sector in pVolInfo->pbFatSector buffer 630 // over 0 (削除) z (削除ここまで)ector of 1st FAT on unmount if pVolInfo->ulCurFatSector == 0630 // over 0 (追記) s (追記ここまで)ector of 1st FAT on unmount if pVolInfo->ulCurFatSector == 0 631 631 // (see MarkDiskStatus) 632 632 pVolInfo->ulCurFatSector = 0xffff; … … 1063 1063 } 1064 1064 1065 if (pSect->bBootSig != 0x29 && pSect->bBootSig != 0x28) 1066 { 1067 // old-style pre-DOS 4.0 BPB 1065 if (pSect->bJmp[1] < 0x29) 1066 { 1067 // old-style pre-DOS 4.0 BPB (jump offset < 0x29, which 1068 // means that FS name and Serial No. are missing) 1068 1069 if (TotClus < 0xff6) 1069 1070 return FAT_TYPE_FAT12; -
branches/lars/src/include/fat32ifs.h
r250 r256 220 220 PROCINFO ProcInfo; 221 221 PDIRENTRY pDirEntries; 222 (削除) ULONG rgClusters[1]; (削除ここまで)223 (削除) } FINFO, *PFINFO; (削除ここまで)224 (削除) (削除ここまで)225 (削除) typedef struct _FindInfo /* MAX 24 BYTES ! */ (削除ここまで)226 (削除) { (削除ここまで)227 (削除) PFINFO pInfo; (削除ここまで)228 (削除) PSHOPENINFO pSHInfo; (削除ここまで)229 222 ULONG ulCurEntry; 230 223 ULONG ulMaxEntry; … … 235 228 BYTE bAttr; 236 229 BYTE bMustAttr; 230 (追記) ULONG rgClusters[1]; (追記ここまで) 231 (追記) } FINFO, *PFINFO; (追記ここまで) 232 (追記) (追記ここまで) 233 (追記) typedef struct _FindInfo /* MAX 24 BYTES ! */ (追記ここまで) 234 (追記) { (追記ここまで) 235 (追記) PFINFO pInfo; (追記ここまで) 236 (追記) PSHOPENINFO pSHInfo; (追記ここまで) 237 237 } FINDINFO, *PFINDINFO; 238 238
Note:
See TracChangeset
for help on using the changeset viewer.