- Timestamp:
- Aug 17, 2016, 10:16:30 AM (9 years ago)
- Author:
- Valery V. Sedletski
- Message:
-
fat32.ifs: Fix a trap after FS_MOUNT on REDETERMINEMEDIA ioctl. Added push es/pop es on enter/exit of each top-level IFS routine.
- Location:
- branches/fat32-0.10/src
- Files:
-
- 6 added
- 15 edited
- ifs/_wcc.cmd (modified) (1 diff)
- ifs/fat32.c (modified) (48 diffs)
- ifs/ifsattr.c (modified) (14 diffs)
- ifs/ifscache.c (modified) (10 diffs)
- ifs/ifsdir.c (modified) (9 diffs)
- ifs/ifsfile.c (modified) (42 diffs)
- ifs/ifsfind.c (modified) (9 diffs)
- ifs/ifslog.c (modified) (5 diffs)
- ifs/ifsmount-new.c (modified) (3 diffs)
- ifs/ifsmount.c (modified) (8 diffs)
- ifs/ifsswap.c (modified) (4 diffs)
- include/devclass.h (added)
- include/dskinit.h (added)
- include/fat32ifs.h (modified) (1 diff)
- include/iorb.h (added)
- include/reqpkt.h (added)
- partfilt/devcmd.inc (added)
- partfilt/devhlp.inc (added)
- ufat32/_icc.cmd (modified) (2 diffs)
- ufat32/format.c (modified) (3 diffs)
- util/_icc.cmd (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/fat32-0.10/src/ifs/_wcc.cmd
r111 r115 4 4 setlocal 5 5 set d=p 6 set WATCOM=p:\dev\watcom 7 set TOOLKIT=p:\os2tk45 6 SET DEBUG=0 7 set WATCOM=f:\dev\watcom 8 set TOOLKIT=f:\os2tk45 8 9 set PATH=%toolkit%\bin;%watcom%\binp;\tools\bin;%path% 9 10 set BEGINLIBPATH=%toolkit%\dll;%watcom%\binp\dll;\tools\dll -
branches/fat32-0.10/src/ifs/fat32.c
r109 r115 112 112 BYTE szDstLongName[ FAT32MAXPATH ]; 113 113 114 (追記) _asm push es; (追記ここまで) 115 (追記) (追記ここまで) 114 116 if (f32Parms.fMessageActive & LOG_FS) 115 117 Message("FS_COPY %s to %s, mode %d", pSrc, pDst, usMode); … … 344 346 if (f32Parms.fMessageActive & LOG_FS) 345 347 Message("FS_COPY returned %u", rc); 348 (追記) (追記ここまで) 349 (追記) _asm pop es; (追記ここまで) 350 (追記) (追記ここまで) 346 351 return rc; 347 352 } … … 350 355 * 351 356 ******************************************************************/ 352 int far pascal (削除) (削除ここまで)_loadds FS_DELETE(357 int far pascal (追記) (追記ここまで)_loadds FS_DELETE( 353 358 struct cdfsi far * pcdfsi, /* pcdfsi */ 354 359 struct cdfsd far * pcdfsd, /* pcdfsd */ … … 366 371 BYTE szLongName[ FAT32MAXPATH ]; 367 372 373 (追記) _asm push es; (追記ここまで) 374 (追記) (追記ここまで) 368 375 if (f32Parms.fMessageActive & LOG_FS) 369 376 Message("FS_DELETE for %s", pFile); … … 372 379 373 380 if (IsDriveLocked(pVolInfo)) 374 return ERROR_DRIVE_LOCKED; 381 { 382 rc = ERROR_DRIVE_LOCKED; 383 goto FS_DELETEEXIT; 384 } 375 385 if (!pVolInfo->fDiskCleanOnMount) 376 return ERROR_VOLUME_DIRTY; 386 { 387 rc = ERROR_VOLUME_DIRTY; 388 goto FS_DELETEEXIT; 389 } 377 390 if (pVolInfo->fWriteProtected) 378 return ERROR_WRITE_PROTECT; 391 { 392 rc = ERROR_WRITE_PROTECT; 393 goto FS_DELETEEXIT; 394 } 379 395 380 396 pOpenInfo = malloc(sizeof (OPENINFO)); … … 474 490 Message("FS_DELETE returned %u", rc); 475 491 492 (追記) _asm pop es; (追記ここまで) 493 (追記) (追記ここまで) 476 494 return rc; 477 495 } … … 480 498 * 481 499 ******************************************************************/ 482 void far pascal (削除) (削除ここまで)_loadds FS_EXIT(500 void far pascal (追記) (追記ここまで)_loadds FS_EXIT( 483 501 unsigned short usUid, /* uid */ 484 502 unsigned short usPid, /* pid */ … … 490 508 USHORT rc; 491 509 510 (追記) _asm push es; (追記ここまで) 511 (追記) (追記ここまで) 492 512 if (f32Parms.fMessageActive & LOG_FS) 493 513 Message("FS_EXIT for PID: %X, PDB %X", … … 500 520 { 501 521 FatalMessage("FAT32: Protection VIOLATION (Volinfo) in FS_EXIT! (SYS%d)", rc); 502 (削除) return (削除ここまで);522 (追記) goto FS_EXITEXIT (追記ここまで); 503 523 } 504 524 … … 519 539 FatalMessage("FAT32: Protection VIOLATION (FindInfo) in FS_EXIT! (SYS%d)", rc); 520 540 Message("FAT32: Protection VIOLATION (FindInfo) in FS_EXIT! (SYS%d)", rc); 521 (削除) return (削除ここまで);541 (追記) goto FS_EXITEXIT (追記ここまで); 522 542 } 523 543 … … 538 558 } 539 559 560 (追記) FS_EXITEXIT: (追記ここまで) 561 (追記) _asm pop es; (追記ここまで) 562 (追記) (追記ここまで) 540 563 return ; 541 564 } … … 546 569 * 547 570 ******************************************************************/ 548 int far pascal (削除) (削除ここまで)_loadds FS_FLUSHBUF(571 int far pascal (追記) (追記ここまで)_loadds FS_FLUSHBUF( 549 572 unsigned short hVPB, /* hVPB */ 550 573 unsigned short usFlag /* flag */ 551 574 ) 552 575 { 553 PVOLINFO pVolInfo (削除) = GetVolInfo(hVPB) (削除ここまで);576 PVOLINFO pVolInfo(追記) (追記ここまで); 554 577 USHORT rc; 578 (追記) (追記ここまで) 579 (追記) _asm push es; (追記ここまで) 580 (追記) (追記ここまで) 581 (追記) pVolInfo = GetVolInfo(hVPB); (追記ここまで) 555 582 556 583 if (f32Parms.fMessageActive & LOG_FS) … … 558 585 559 586 if (pVolInfo->fWriteProtected) 560 return 0; 587 { 588 rc = 0; 589 goto FS_FLUSHEXIT; 590 } 561 591 562 592 rc = usFlushVolume(pVolInfo, usFlag, TRUE, PRIO_URGENT); 563 593 564 594 if (rc) 565 (削除) return rc (削除ここまで);595 (追記) goto FS_FLUSHEXIT (追記ここまで); 566 596 567 597 if (!f32Parms.usDirtySectors) // vs … … 583 613 if (f32Parms.fMessageActive & LOG_FS) 584 614 Message("FS_FLUSHBUF returned %u", rc); 615 (追記) (追記ここまで) 616 (追記) _asm pop es; (追記ここまで) 617 (追記) (追記ここまで) 585 618 return rc; 586 619 } … … 590 623 * 591 624 ******************************************************************/ 592 int far pascal (削除) (削除ここまで)_loadds FS_FSCTL(625 int far pascal (追記) (追記ここまで)_loadds FS_FSCTL( 593 626 union argdat far * pArgDat, /* pArgdat */ 594 627 unsigned short usArgType, /* iArgType */ … … 605 638 POPENINFO pOpenInfo; 606 639 640 (追記) _asm push es; (追記ここまで) 607 641 608 642 if (usFunc != FAT32_GETLOGDATA && f32Parms.fMessageActive & LOG_FS) … … 618 652 { 619 653 Message("Protection VIOLATION in Data of FS_FSCTL!"); 620 (削除) return rc (削除ここまで);654 (追記) goto FS_FSCTLEXIT (追記ここまで); 621 655 } 622 656 } … … 644 678 { 645 679 Message("Protection VIOLATION in Parm of FS_FSCTL!"); 646 (削除) return rc (削除ここまで);680 (追記) goto FS_FSCTLEXIT (追記ここまで); 647 681 } 648 682 } … … 842 876 *pcbData = sizeof f32Parms; 843 877 if (cbData < sizeof (F32PARMS)) 844 return ERROR_BUFFER_OVERFLOW; 878 { 879 rc = ERROR_BUFFER_OVERFLOW; 880 goto FS_FSCTLEXIT; 881 } 845 882 memcpy(pData, &f32Parms, sizeof (F32PARMS)); 846 883 rc = 0; … … 937 974 if (usFunc != FAT32_GETLOGDATA && f32Parms.fMessageActive & LOG_FS) 938 975 Message("FS_FSCTL returned %u", rc); 976 (追記) (追記ここまで) 977 (追記) _asm pop es; (追記ここまで) 978 (追記) (追記ここまで) 939 979 return rc; 940 980 } … … 954 994 USHORT rc; 955 995 996 (追記) _asm push es; (追記ここまで) 997 (追記) (追記ここまで) 956 998 if (f32Parms.fMessageActive & LOG_FS) 957 999 Message("FS_FSINFO, Flag = %d, Level = %d", usFlag, usLevel); … … 960 1002 961 1003 if (IsDriveLocked(pVolInfo)) 962 return ERROR_DRIVE_LOCKED; 1004 { 1005 rc = ERROR_DRIVE_LOCKED; 1006 goto FS_FSINFOEXIT; 1007 } 963 1008 964 1009 if (pVolInfo->fFormatInProgress) 965 return ERROR_BUSY_DRIVE; 1010 { 1011 rc = ERROR_BUSY_DRIVE; 1012 goto FS_FSINFOEXIT; 1013 } 966 1014 967 1015 rc = MY_PROBEBUF(PB_OPWRITE, pData, cbData); … … 969 1017 { 970 1018 Message("Protection VIOLATION in FS_FSINFO!"); 971 (削除) return rc (削除ここまで);1019 (追記) goto FS_FSINFOEXIT (追記ここまで); 972 1020 } 973 1021 … … 980 1028 PFSALLOCATE pAlloc = (PFSALLOCATE)pData; 981 1029 982 (削除) Message("FSIL_ALLOC"); (削除ここまで)983 1030 if (cbData < sizeof (FSALLOCATE)) 984 1031 { … … 1028 1075 PFSINFO pInfo = (PFSINFO)pData; 1029 1076 USHORT usSize; 1030 (削除) Message("FSIL_VOLSER"); (削除ここまで)1031 1077 if (cbData < sizeof (FSINFO)) 1032 1078 { … … 1073 1119 if (pVol->cch < (BYTE)12) 1074 1120 { 1075 (削除) Message("FSIL_VOLSER < 12 , fGetSetVolLabel in"); (削除ここまで)1076 1121 usSize = (USHORT) pVol->cch; 1077 (削除) Message("fGetSetVolLabel out, rc=%u", rc); (削除ここまで)1078 1122 rc = fGetSetVolLabel(pVolInfo, usFlag, pVol->szVolLabel, &usSize); 1079 1123 } … … 1081 1125 { 1082 1126 usSize = 11; 1083 (削除) Message("FSIL_VOLSER, too long, fGetSetVolLabel in"); (削除ここまで)1084 1127 rc = fGetSetVolLabel(pVolInfo, usFlag, pVol->szVolLabel, &usSize); 1085 (削除) Message("fGetSetVolLabel out, rc=%lu", rc); (削除ここまで)1086 1128 if (!rc) 1087 1129 rc = ERROR_LABEL_TOO_LONG; … … 1102 1144 if (f32Parms.fMessageActive & LOG_FS) 1103 1145 Message("FS_FSINFO returned %u", rc); 1146 (追記) (追記ここまで) 1147 (追記) _asm pop es; (追記ここまで) 1148 (追記) (追記ここまで) 1104 1149 return rc; 1105 1150 } … … 1233 1278 PSZ p; 1234 1279 1280 (追記) _asm push es; (追記ここまで) 1281 (追記) (追記ここまで) 1235 1282 pMiniFSD = pMiniFSD; 1236 1283 … … 1321 1368 { 1322 1369 InitMessage("FAT32: Unable to acquire Global Infoseg!\r\n"); 1370 (追記) _asm pop es; (追記ここまで) 1323 1371 return 1; 1324 1372 } … … 1329 1377 if (!ulCacheSectors) 1330 1378 InitMessage("FAT32: Warning CACHE size is zero!\r\n"); 1379 (追記) (追記ここまで) 1380 (追記) _asm pop es; (追記ここまで) 1331 1381 1332 1382 return 0; … … 1362 1412 PBIOSPARAMETERBLOCK pBPB; 1363 1413 1414 (追記) _asm push es; (追記ここまで) 1415 (追記) (追記ここまで) 1364 1416 psffsd = psffsd; 1365 1417 … … 1380 1432 { 1381 1433 Message("Protection VIOLATION in data of FS_IOCTL!"); 1382 (削除) return rc (削除ここまで);1434 (追記) goto FS_IOCTLEXIT (追記ここまで); 1383 1435 } 1384 1436 } … … 1409 1461 Message("Protection VIOLATION in parm of FS_IOCTL, address %lX, len %u!", 1410 1462 pParm, cbParm); 1411 (削除) return rc (削除ここまで);1463 (追記) goto FS_IOCTLEXIT (追記ここまで); 1412 1464 } 1413 1465 } … … 1551 1603 *(PWORD)pData = 0x0006; 1552 1604 1553 (削除) Message("DSK_GETLOCKSTATUS, rc=%u", rc); (削除ここまで)1554 1605 rc = 0; 1555 1606 break; … … 1855 1906 if (f32Parms.fMessageActive & LOG_FS) 1856 1907 Message("FS_IOCTL returned %u", rc); 1908 (追記) (追記ここまで) 1909 (追記) _asm pop es; (追記ここまで) 1910 (追記) (追記ここまで) 1857 1911 return rc; 1858 (削除) (削除ここまで)1859 1912 } 1860 1913 … … 2016 2069 * 2017 2070 ******************************************************************/ 2018 int far pascal (削除) (削除ここまで)_loadds FS_MOVE(2071 int far pascal (追記) (追記ここまで)_loadds FS_MOVE( 2019 2072 struct cdfsi far * pcdfsi, /* pcdfsi */ 2020 2073 struct cdfsd far * pcdfsd, /* pcdfsd */ … … 2039 2092 BYTE szSrcLongName[ FAT32MAXPATH ]; 2040 2093 BYTE szDstLongName[ FAT32MAXPATH ]; 2094 (追記) (追記ここまで) 2095 (追記) _asm push es; (追記ここまで) 2041 2096 2042 2097 if (f32Parms.fMessageActive & LOG_FS) … … 2209 2264 if (pOISrc->pSHInfo->sOpenCount > 1) 2210 2265 { 2211 (削除) (削除ここまで)rc = ERROR_ACCESS_DENIED;2266 (追記) (追記ここまで)rc = ERROR_ACCESS_DENIED; 2212 2267 goto FS_MOVEEXIT; 2213 2268 } … … 2319 2374 return rc; 2320 2375 2376 (追記) _asm pop es; (追記ここまで) 2377 (追記) (追記ここまで) 2321 2378 usFlags = usFlags; 2322 2379 } … … 2325 2382 * 2326 2383 ******************************************************************/ 2327 int far pascal (削除) (削除ここまで)_loadds FS_PROCESSNAME(2384 int far pascal (追記) (追記ここまで)_loadds FS_PROCESSNAME( 2328 2385 char far * pNameBuf /* pNameBuf */ 2329 2386 ) … … 2333 2390 USHORT usLen; 2334 2391 char far *p; 2392 (追記) (追記ここまで) 2393 (追記) _asm push es; (追記ここまで) 2335 2394 2336 2395 if (f32Parms.fMessageActive & LOG_FS) … … 2350 2409 if (f32Parms.fMessageActive & LOG_FS) 2351 2410 Message(" FS_PROCESSNAME returned filename: %s", pNameBuf); 2411 (追記) (追記ここまで) 2412 (追記) _asm pop es; (追記ここまで) 2352 2413 #endif 2353 2414 return 0; … … 2358 2419 * 2359 2420 ******************************************************************/ 2360 int far pascal (削除) (削除ここまで)_loadds FS_SHUTDOWN(2421 int far pascal (追記) (追記ここまで)_loadds FS_SHUTDOWN( 2361 2422 unsigned short usType, /* usType */ 2362 2423 unsigned long ulReserved /* ulReserved */ … … 2365 2426 PVOLINFO pVolInfo; 2366 2427 USHORT rc = 0; 2428 (追記) (追記ここまで) 2429 (追記) _asm push es; (追記ここまで) 2367 2430 2368 2431 ulReserved = ulReserved; … … 2409 2472 if (f32Parms.fMessageActive & LOG_FS) 2410 2473 Message("FS_SHUTDOWN returned %d", rc); 2474 (追記) (追記ここまで) 2475 (追記) _asm pop es; (追記ここまで) 2476 (追記) (追記ここまで) 2411 2477 return rc; 2412 2478 } … … 2415 2481 * 2416 2482 ******************************************************************/ 2417 int far pascal _loadds (削除) (削除ここまで)FS_VERIFYUNCNAME(2483 int far pascal _loadds (追記) (追記ここまで)FS_VERIFYUNCNAME( 2418 2484 unsigned short usFlag, /* flag */ 2419 2485 char far * pName /* pName */ 2420 2486 ) 2421 2487 { 2488 (追記) _asm push es; (追記ここまで) 2489 (追記) (追記ここまで) 2422 2490 if (f32Parms.fMessageActive & LOG_FS) 2423 2491 Message("FS_VERIFYUNCNAME - NOT SUPPORTED"); 2424 2492 usFlag = usFlag; 2425 2493 pName = pName; 2494 (追記) (追記ここまで) 2495 (追記) _asm pop es; (追記ここまで) 2496 (追記) (追記ここまで) 2426 2497 return ERROR_NOT_SUPPORTED; 2427 2498 } … … 5167 5238 return usRet; 5168 5239 } 5169 (削除) (削除ここまで)5170 (削除) (削除ここまで) -
branches/fat32-0.10/src/ifs/ifsattr.c
r109 r115 16 16 * 17 17 ******************************************************************/ 18 int far pascal _loadds (削除) (削除ここまで)FS_FILEATTRIBUTE(18 int far pascal _loadds (追記) (追記ここまで)FS_FILEATTRIBUTE( 19 19 unsigned short usFlag, /* flag */ 20 20 struct cdfsi far * pcdfsi, /* pcdfsi */ … … 33 33 USHORT rc; 34 34 35 (追記) _asm push es; (追記ここまで) 36 (追記) (追記ここまで) 35 37 if (f32Parms.fMessageActive & LOG_FS) 36 38 Message("FS_FILEATTRIBUTE, Flag = %X for %s", usFlag, pName); … … 38 40 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB); 39 41 if (IsDriveLocked(pVolInfo)) 40 return ERROR_DRIVE_LOCKED; 42 { 43 rc = ERROR_DRIVE_LOCKED; 44 goto FS_FILEATTRIBUTEEXIT; 45 } 41 46 42 47 if (strlen(pName) > FAT32MAXPATH) 43 return ERROR_FILENAME_EXCED_RANGE; 48 { 49 rc = ERROR_FILENAME_EXCED_RANGE; 50 goto FS_FILEATTRIBUTEEXIT; 51 } 44 52 45 53 ulDirCluster = FindDirCluster(pVolInfo, … … 111 119 if (f32Parms.fMessageActive & LOG_FS) 112 120 Message("FS_FILEATTRIBUTE returned %d", rc); 121 (追記) (追記ここまで) 122 (追記) _asm pop es; (追記ここまで) 123 (追記) (追記ここまで) 113 124 return rc; 114 125 } … … 118 129 * 119 130 ******************************************************************/ 120 int far pascal _loadds (削除) (削除ここまで)FS_PATHINFO(131 int far pascal _loadds (追記) (追記ここまで)FS_PATHINFO( 121 132 unsigned short usFlag, /* flag */ 122 133 struct cdfsi far * pcdfsi, /* pcdfsi */ … … 137 148 USHORT rc; 138 149 150 (追記) _asm push es; (追記ここまで) 151 (追記) (追記ここまで) 139 152 if (f32Parms.fMessageActive & LOG_FS) 140 153 Message("FS_PATHINFO Flag = %d, Level = %d called for %s, cbData = %u", … … 143 156 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB); 144 157 if (IsDriveLocked(pVolInfo)) 145 return ERROR_DRIVE_LOCKED; 158 { 159 rc = ERROR_DRIVE_LOCKED; 160 goto FS_PATHINFOEXIT; 161 } 146 162 147 163 if (strlen(pName) > FAT32MAXPATH) … … 217 233 { 218 234 Message("Protection VIOLATION in FS_PATHINFO!\n"); 219 (削除) return rc (削除ここまで);235 (追記) goto FS_PATHINFOEXIT (追記ここまで); 220 236 } 221 237 … … 286 302 { 287 303 Message("Protection VIOLATION in FS_PATHINFO!\n"); 288 (削除) return rc (削除ここまで);304 (追記) goto FS_PATHINFOEXIT (追記ここまで); 289 305 } 290 306 rc = MY_PROBEBUF(PB_OPWRITE, (PBYTE)pFEA, (USHORT)pFEA->cbList); … … 292 308 { 293 309 Message("Protection VIOLATION in FS_PILEINFO!\n"); 294 (削除) return rc (削除ここまで);310 (追記) goto FS_PATHINFOEXIT (追記ここまで); 295 311 } 296 312 if (!f32Parms.fEAS) … … 314 330 { 315 331 Message("Protection VIOLATION in FS_PATHINFO!\n"); 316 (削除) return rc (削除ここまで);332 (追記) goto FS_PATHINFOEXIT (追記ここまで); 317 333 } 318 334 rc = MY_PROBEBUF(PB_OPWRITE, (PBYTE)pFEA, (USHORT)pFEA->cbList); 319 335 if (rc) 320 336 { 321 Message("Protection VIOLATION in FS_P (削除) ILE (削除ここまで)INFO!\n");322 (削除) return rc (削除ここまで);337 Message("Protection VIOLATION in FS_P(追記) ATH (追記ここまで)INFO!\n"); 338 (追記) goto FS_PATHINFOEXIT (追記ここまで); 323 339 } 324 340 if (!f32Parms.fEAS) … … 356 372 { 357 373 if (!pVolInfo->fDiskCleanOnMount) 358 return ERROR_VOLUME_DIRTY; 374 { 375 rc = ERROR_VOLUME_DIRTY; 376 goto FS_PATHINFOEXIT; 377 } 359 378 if (pVolInfo->fWriteProtected) 360 return ERROR_WRITE_PROTECT; 379 { 380 rc = ERROR_WRITE_PROTECT; 381 goto FS_PATHINFOEXIT; 382 } 361 383 362 384 rc = MY_PROBEBUF(PB_OPREAD, pData, cbData); … … 364 386 { 365 387 Message("Protection VIOLATION in FS_PATHINFO!\n"); 366 (削除) return rc (削除ここまで);388 (追記) goto FS_PATHINFOEXIT (追記ここまで); 367 389 } 368 390 … … 473 495 if (f32Parms.fMessageActive & LOG_FS) 474 496 Message("FS_PATHINFO returned %u", rc); 497 (追記) (追記ここまで) 498 (追記) _asm pop es; (追記ここまで) 499 (追記) (追記ここまで) 475 500 return rc; 476 501 } 477 (削除) (削除ここまで) -
branches/fat32-0.10/src/ifs/ifscache.c
r109 r115 53 53 PRIVATE BOOL fAddToRLH(PRQLIST pRQ, USHORT usCBIndex, BYTE bPriority); 54 54 PRIVATE VOID vCallStrategy(PVOLINFO pVolInfo, PRQLIST pRQ); 55 PRIVATE VOID (削除) _loadds (削除ここまで)rlhNotify(VOID);56 PRIVATE VOID (削除) _loadds (削除ここまで)rhNotify(VOID);55 PRIVATE VOID (追記) _loadds (追記ここまで) rlhNotify(VOID); 56 PRIVATE VOID (追記) _loadds (追記ここまで) rhNotify(VOID); 57 57 PRIVATE VOID vCheckRequest(PREQUEST pRequest); 58 58 PRIVATE USHORT usEmergencyFlush(VOID); … … 83 83 if (ulSectors > MAX_SECTORS) 84 84 ulSectors = MAX_SECTORS; 85 (削除) (削除ここまで)Message("Allocating cache space for %ld sectors", ulSectors);85 (追記) // (追記ここまで)Message("Allocating cache space for %ld sectors", ulSectors); 86 86 87 87 f32Parms.usCacheSize = 0; … … 1498 1498 return; 1499 1499 1500 (追記) _asm push es; // vs (追記ここまで) 1501 (追記) _asm push bx; // (追記ここまで) 1502 (追記) (追記ここまで) 1500 1503 rqBase = SELECTOROF(pRQin); 1501 1504 pRQ = (RQLIST _based(rqBase) *)OFFSETOF(pRQin); … … 1534 1537 1535 1538 pfnStrategy = pVolInfo->pfnStrategy; 1536 (削除) _asm push es; // vs (削除ここまで)1537 (削除) //_asm push bx; // (削除ここまで)1538 1539 1539 1540 _asm mov es, usSeg; … … 1541 1542 (*pfnStrategy)(); 1542 1543 1543 (削除) // (削除ここまで)_asm pop bx; // vs1544 (追記) (追記ここまで)_asm pop bx; // vs 1544 1545 _asm pop es; // 1545 1546 } … … 1558 1559 1559 1560 _asm push es; // vs 1560 (削除) // (削除ここまで)_asm push bx; //1561 (追記) (追記ここまで)_asm push bx; // 1561 1562 1562 1563 _asm mov ESReg, es … … 1641 1642 } 1642 1643 1643 (削除) // (削除ここまで)_asm pop bx; // vs1644 (追記) (追記ここまで)_asm pop bx; // vs 1644 1645 _asm pop es; // 1645 1646 … … 1656 1657 1657 1658 _asm push es // vs 1658 (削除) // (削除ここまで)_asm push bx //1659 (追記) (追記ここまで)_asm push bx // 1659 1660 1660 1661 _asm mov ESReg, es … … 1663 1664 vCheckRequest(MAKEP(ESReg, BXReg)); 1664 1665 1665 (削除) // (削除ここまで)_asm pop bx; // vs1666 (追記) (追記ここまで)_asm pop bx; // vs 1666 1667 _asm pop es; // 1667 1668 } … … 1760 1761 } 1761 1762 } 1762 (削除) (削除ここまで) -
branches/fat32-0.10/src/ifs/ifsdir.c
r109 r115 13 13 #include "fat32ifs.h" 14 14 15 int far pascal _loadds (削除) (削除ここまで)FS_CHDIR(15 int far pascal _loadds (追記) (追記ここまで)FS_CHDIR( 16 16 unsigned short usFlag, /* flag */ 17 17 struct cdfsi far * pcdfsi, /* pcdfsi */ … … 28 28 BYTE szDirLongName[ FAT32MAXPATH ]; 29 29 30 (追記) _asm push es; (追記ここまで) 31 (追記) (追記ここまで) 30 32 if (f32Parms.fMessageActive & LOG_FS) 31 33 Message("FS_CHDIR, flag %u", usFlag); … … 135 137 if (f32Parms.fMessageActive & LOG_FS) 136 138 Message("FS_CHDIR returned %u", rc); 139 (追記) (追記ここまで) 140 (追記) _asm pop es; (追記ここまで) 141 (追記) (追記ここまで) 137 142 return rc; 138 143 } 139 144 140 int far pascal _loadds (削除) (削除ここまで)FS_MKDIR(145 int far pascal _loadds (追記) (追記ここまで)FS_MKDIR( 141 146 struct cdfsi far * pcdfsi, /* pcdfsi */ 142 147 struct cdfsd far * pcdfsd, /* pcdfsd */ … … 156 161 PBYTE pbCluster; 157 162 163 (追記) _asm push es; (追記ここまで) 164 (追記) (追記ここまで) 158 165 usFlags = usFlags; 159 166 … … 163 170 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB); 164 171 if (IsDriveLocked(pVolInfo)) 165 return ERROR_DRIVE_LOCKED; 172 { 173 rc = ERROR_DRIVE_LOCKED; 174 goto FS_MKDIREXIT; 175 } 166 176 if (!pVolInfo->fDiskCleanOnMount) 167 return ERROR_VOLUME_DIRTY; 177 { 178 rc = ERROR_VOLUME_DIRTY; 179 goto FS_MKDIREXIT; 180 } 168 181 if (pVolInfo->fWriteProtected) 169 return ERROR_WRITE_PROTECT; 182 { 183 rc = ERROR_WRITE_PROTECT; 184 goto FS_MKDIREXIT; 185 } 170 186 171 187 if (strlen(pName) > FAT32MAXPATH) 172 return ERROR_FILENAME_EXCED_RANGE; 188 { 189 rc = ERROR_FILENAME_EXCED_RANGE; 190 goto FS_MKDIREXIT; 191 } 173 192 174 193 ulDirCluster = FindDirCluster(pVolInfo, … … 251 270 if (f32Parms.fMessageActive & LOG_FS) 252 271 Message("FS_MKDIR returned %u", rc); 272 (追記) (追記ここまで) 273 (追記) _asm pop es; (追記ここまで) 274 (追記) (追記ここまで) 253 275 return rc; 254 276 } … … 273 295 BYTE szLongName[ FAT32MAXPATH ]; 274 296 297 (追記) _asm push es; (追記ここまで) 298 (追記) (追記ここまで) 275 299 if (f32Parms.fMessageActive & LOG_FS) 276 300 Message("FS_RMDIR %s", pName); … … 278 302 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB); 279 303 if (IsDriveLocked(pVolInfo)) 280 return ERROR_DRIVE_LOCKED; 304 { 305 rc = ERROR_DRIVE_LOCKED; 306 goto FS_RMDIREXIT; 307 } 281 308 if (!pVolInfo->fDiskCleanOnMount) 282 return ERROR_VOLUME_DIRTY; 309 { 310 rc = ERROR_VOLUME_DIRTY; 311 goto FS_RMDIREXIT; 312 } 283 313 if (pVolInfo->fWriteProtected) 284 return ERROR_WRITE_PROTECT; 314 { 315 rc = ERROR_WRITE_PROTECT; 316 goto FS_RMDIREXIT; 317 } 285 318 if (strlen(pName) > FAT32MAXPATH) 286 return ERROR_FILENAME_EXCED_RANGE; 319 { 320 rc = ERROR_FILENAME_EXCED_RANGE; 321 goto FS_RMDIREXIT; 322 } 287 323 288 324 #if 1 … … 396 432 if (f32Parms.fMessageActive & LOG_FS) 397 433 Message("FS_RMDIR returned %u", rc); 434 (追記) (追記ここまで) 435 (追記) _asm pop es; (追記ここまで) 436 (追記) (追記ここまで) 398 437 return rc; 399 438 } -
branches/fat32-0.10/src/ifs/ifsfile.c
r109 r115 28 28 * 29 29 ******************************************************************/ 30 int far pascal _loadds (削除) (削除ここまで)FS_OPENCREATE(30 int far pascal _loadds (追記) (追記ここまで)FS_OPENCREATE( 31 31 struct cdfsi far * pcdfsi, /* pcdfsi */ 32 32 void far * pcdfsd, /* pcdfsd */ … … 52 52 USHORT rc; 53 53 54 (追記) _asm push es; (追記ここまで) 54 55 55 56 usIOMode = 0; … … 68 69 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB); 69 70 if (IsDriveLocked(pVolInfo)) 70 return ERROR_DRIVE_LOCKED; 71 { 72 rc = ERROR_DRIVE_LOCKED; 73 goto FS_OPENCREATEEXIT; 74 } 71 75 72 76 *pAction = 0; … … 429 433 if (f32Parms.fMessageActive & LOG_FS) 430 434 Message("FS_OPENCREATE returned %u (Action = %u, OI=%lX)", rc, *pAction, pOpenInfo); 435 (追記) (追記ここまで) 436 (追記) _asm pop es; (追記ここまで) 437 (追記) (追記ここまで) 431 438 return rc; 432 439 } … … 563 570 * 564 571 ******************************************************************/ 565 int far pascal _loadds (削除) (削除ここまで)FS_CLOSE(572 int far pascal _loadds (追記) (追記ここまで)FS_CLOSE( 566 573 unsigned short usType, /* close type */ 567 574 unsigned short IOFlag, /* IOflag */ … … 570 577 ) 571 578 { 572 POPENINFO pOpenInfo (削除) = GetOpenInfo(psffsd) (削除ここまで);573 PVOLINFO pVolInfo (削除) = GetVolInfo(psffsi->sfi_hVPB) (削除ここまで);579 POPENINFO pOpenInfo(追記) (追記ここまで); 580 PVOLINFO pVolInfo(追記) (追記ここまで); 574 581 USHORT rc = 0; 582 (追記) (追記ここまで) 583 (追記) _asm push es; (追記ここまで) 584 (追記) (追記ここまで) 585 (追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで) 586 (追記) pVolInfo = GetVolInfo(psffsi->sfi_hVPB); (追記ここまで) 575 587 576 588 if (f32Parms.fMessageActive & LOG_FS) … … 586 598 587 599 if (IsDriveLocked(pVolInfo)) 588 return ERROR_DRIVE_LOCKED; 600 { 601 rc = ERROR_DRIVE_LOCKED; 602 goto FS_CLOSEEXIT; 603 } 589 604 590 605 if (usType == FS_CL_FORSYS) … … 617 632 if (f32Parms.fMessageActive & LOG_FS) 618 633 Message("FS_CLOSE returned %u", rc); 634 (追記) (追記ここまで) 635 (追記) _asm pop es; (追記ここまで) 636 (追記) (追記ここまで) 619 637 return rc; 620 638 } … … 623 641 * 624 642 ******************************************************************/ 625 int far pascal _loadds (削除) (削除ここまで)FS_READ(643 int far pascal _loadds (追記) (追記ここまで)FS_READ( 626 644 struct sffsi far * psffsi, /* psffsi */ 627 645 struct sffsd far * psffsd, /* psffsd */ … … 633 651 USHORT rc; 634 652 PVOLINFO pVolInfo; 635 POPENINFO pOpenInfo (削除) = GetOpenInfo(psffsd) (削除ここまで);653 POPENINFO pOpenInfo(追記) (追記ここまで); 636 654 USHORT usBytesRead; 637 655 USHORT usBytesToRead; … … 641 659 USHORT usBytesPerCluster; 642 660 661 (追記) _asm push es; (追記ここまで) 662 (追記) (追記ここまで) 663 (追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで) 643 664 644 665 usBytesToRead = *pLen; … … 1001 1022 if (f32Parms.fMessageActive & LOG_FS) 1002 1023 Message("FS_READ returned %u (%u bytes read)", rc, *pLen); 1024 (追記) (追記ここまで) 1025 (追記) _asm pop es; (追記ここまで) 1026 (追記) (追記ここまで) 1003 1027 return rc; 1004 1028 } … … 1007 1031 * 1008 1032 ******************************************************************/ 1009 int far pascal _loadds (削除) (削除ここまで)FS_WRITE(1033 int far pascal _loadds (追記) (追記ここまで)FS_WRITE( 1010 1034 struct sffsi far * psffsi, /* psffsi */ 1011 1035 struct sffsd far * psffsd, /* psffsd */ … … 1017 1041 USHORT rc; 1018 1042 PVOLINFO pVolInfo; 1019 POPENINFO pOpenInfo (削除) = GetOpenInfo(psffsd) (削除ここまで);1043 POPENINFO pOpenInfo(追記) (追記ここまで); 1020 1044 USHORT usBytesWritten; 1021 1045 USHORT usBytesToWrite; … … 1024 1048 USHORT usClusterOffset; 1025 1049 USHORT usBytesPerCluster; 1050 (追記) (追記ここまで) 1051 (追記) _asm push es; (追記ここまで) 1052 (追記) (追記ここまで) 1053 (追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで) 1026 1054 1027 1055 usBytesToWrite = *pLen; … … 1485 1513 if (f32Parms.fMessageActive & LOG_FS) 1486 1514 Message("FS_WRITE returned %u (%u bytes written)", rc, *pLen); 1515 (追記) (追記ここまで) 1516 (追記) _asm pop es; (追記ここまで) 1517 (追記) (追記ここまで) 1487 1518 return rc; 1488 1519 } … … 1509 1540 * 1510 1541 ******************************************************************/ 1511 int far pascal _loadds (削除) (削除ここまで)FS_CANCELLOCKREQUEST(1542 int far pascal _loadds (追記) (追記ここまで)FS_CANCELLOCKREQUEST( 1512 1543 struct sffsi far * psffsi, /* psffsi */ 1513 1544 struct sffsd far * psffsd, /* psffsd */ … … 1528 1559 * 1529 1560 ******************************************************************/ 1530 int far pascal _loadds (削除) (削除ここまで)FS_CHGFILEPTR(1561 int far pascal _loadds (追記) (追記ここまで)FS_CHGFILEPTR( 1531 1562 struct sffsi far * psffsi, /* psffsi */ 1532 1563 struct sffsd far * psffsd, /* psffsd */ … … 1537 1568 { 1538 1569 PVOLINFO pVolInfo; 1539 POPENINFO pOpenInfo (削除) = GetOpenInfo(psffsd) (削除ここまで);1570 POPENINFO pOpenInfo(追記) (追記ここまで); 1540 1571 LONG lNewOffset = 0; 1541 1572 USHORT rc; 1573 (追記) (追記ここまで) 1574 (追記) _asm push es; (追記ここまで) 1575 (追記) (追記ここまで) 1576 (追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで) 1542 1577 1543 1578 if (f32Parms.fMessageActive & LOG_FS) … … 1547 1582 pVolInfo = GetVolInfo(psffsi->sfi_hVPB); 1548 1583 if (IsDriveLocked(pVolInfo)) 1549 return ERROR_DRIVE_LOCKED; 1584 { 1585 rc = ERROR_DRIVE_LOCKED; 1586 goto FS_CHGFILEPTREXIT; 1587 } 1550 1588 1551 1589 switch (usType) … … 1582 1620 if (f32Parms.fMessageActive & LOG_FS) 1583 1621 Message("FS_CHGFILEPTR returned %u", rc); 1622 (追記) (追記ここまで) 1623 (追記) _asm pop es; (追記ここまで) 1624 (追記) (追記ここまで) 1584 1625 return rc; 1585 1626 … … 1591 1632 * 1592 1633 ******************************************************************/ 1593 int far pascal _loadds (削除) (削除ここまで)FS_COMMIT(1634 int far pascal _loadds (追記) (追記ここまで)FS_COMMIT( 1594 1635 unsigned short usType, /* commit type */ 1595 1636 unsigned short usIOFlag, /* IOflag */ … … 1600 1641 USHORT rc; 1601 1642 1643 (追記) _asm push es; (追記ここまで) 1644 (追記) (追記ここまで) 1602 1645 if (f32Parms.fMessageActive & LOG_FS) 1603 1646 Message("FS_COMMIT, type %d", usType); … … 1615 1658 1616 1659 if (IsDriveLocked(pVolInfo)) 1617 return ERROR_DRIVE_LOCKED; 1660 { 1661 rc = ERROR_DRIVE_LOCKED; 1662 goto FS_COMMITEXIT; 1663 } 1618 1664 1619 1665 if (psffsi->sfi_mode & OPEN_FLAGS_DASD) 1620 return ERROR_NOT_SUPPORTED; 1666 { 1667 rc = ERROR_NOT_SUPPORTED; 1668 goto FS_COMMITEXIT; 1669 } 1621 1670 1622 1671 if (!pOpenInfo->pSHInfo->fMustCommit) … … 1680 1729 if (f32Parms.fMessageActive & LOG_FS) 1681 1730 Message("FS_COMMIT returned %u", rc); 1731 (追記) (追記ここまで) 1732 (追記) _asm pop es; (追記ここまで) 1733 (追記) (追記ここまで) 1682 1734 return rc; 1683 1735 } … … 1686 1738 * 1687 1739 ******************************************************************/ 1688 int far pascal _loadds (削除) (削除ここまで)FS_FILELOCKS(1740 int far pascal _loadds (追記) (追記ここまで)FS_FILELOCKS( 1689 1741 struct sffsi far * psffsi, /* psffsi */ 1690 1742 struct sffsd far * psffsd, /* psffsd */ … … 1710 1762 * 1711 1763 ******************************************************************/ 1712 int far pascal _loadds (削除) (削除ここまで)FS_NEWSIZE(1764 int far pascal _loadds (追記) (追記ここまで)FS_NEWSIZE( 1713 1765 struct sffsi far * psffsi, /* psffsi */ 1714 1766 struct sffsd far * psffsd, /* psffsd */ … … 1718 1770 { 1719 1771 PVOLINFO pVolInfo; 1720 POPENINFO pOpenInfo (削除) = GetOpenInfo(psffsd) (削除ここまで);1772 POPENINFO pOpenInfo(追記) (追記ここまで); 1721 1773 USHORT rc; 1774 (追記) (追記ここまで) 1775 (追記) _asm push es; (追記ここまで) 1776 (追記) (追記ここまで) 1777 (追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで) 1722 1778 1723 1779 pOpenInfo->pSHInfo->fMustCommit = TRUE; … … 1727 1783 1728 1784 if (psffsi->sfi_mode & OPEN_FLAGS_DASD) 1729 return ERROR_NOT_SUPPORTED; 1785 { 1786 rc = ERROR_NOT_SUPPORTED; 1787 goto FS_NEWSIZEEXIT; 1788 } 1730 1789 1731 1790 pVolInfo = GetVolInfo(psffsi->sfi_hVPB); 1732 1791 if (IsDriveLocked(pVolInfo)) 1733 return ERROR_DRIVE_LOCKED; 1792 { 1793 rc = ERROR_DRIVE_LOCKED; 1794 goto FS_NEWSIZEEXIT; 1795 } 1734 1796 if (pVolInfo->fWriteProtected) 1735 return ERROR_WRITE_PROTECT; 1797 { 1798 rc = ERROR_WRITE_PROTECT; 1799 goto FS_NEWSIZEEXIT; 1800 } 1736 1801 1737 1802 rc = NewSize(pVolInfo, psffsi, psffsd, ulLen, usIOFlag); … … 1741 1806 if (f32Parms.fMessageActive & LOG_FS) 1742 1807 Message("FS_NEWSIZE returned %u", rc); 1808 (追記) (追記ここまで) 1809 (追記) FS_NEWSIZEEXIT: (追記ここまで) 1810 (追記) _asm pop es; (追記ここまで) 1743 1811 1744 1812 return rc; … … 1860 1928 * 1861 1929 ******************************************************************/ 1862 int far pascal _loadds (削除) (削除ここまで)FS_FILEINFO(unsigned short usFlag, /* flag */1930 int far pascal _loadds (追記) (追記ここまで)FS_FILEINFO(unsigned short usFlag, /* flag */ 1863 1931 struct sffsi far * psffsi, /* psffsi */ 1864 1932 struct sffsd far * psffsd, /* psffsd */ … … 1870 1938 { 1871 1939 PVOLINFO pVolInfo; 1872 POPENINFO pOpenInfo (削除) = GetOpenInfo(psffsd) (削除ここまで);1940 POPENINFO pOpenInfo(追記) (追記ここまで); 1873 1941 USHORT usNeededSize; 1874 1942 USHORT rc; 1875 1943 PSZ pszFile; 1876 1944 1877 1945 _asm push es; 1946 1947 pOpenInfo = GetOpenInfo(psffsd); 1878 1948 1879 1949 if (f32Parms.fMessageActive & LOG_FS) … … 1884 1954 pVolInfo = GetVolInfo(psffsi->sfi_hVPB); 1885 1955 if (psffsi->sfi_mode & OPEN_FLAGS_DASD) 1886 return ERROR_NOT_SUPPORTED; 1956 { 1957 rc = ERROR_NOT_SUPPORTED; 1958 goto FS_FILEINFOEXIT; 1959 } 1887 1960 if (IsDriveLocked(pVolInfo)) 1888 return ERROR_DRIVE_LOCKED; 1961 { 1962 rc = ERROR_DRIVE_LOCKED; 1963 goto FS_FILEINFOEXIT; 1964 } 1889 1965 1890 1966 pszFile = strrchr(pOpenInfo->pSHInfo->szFileName, '\\'); … … 1929 2005 { 1930 2006 Message("Protection VIOLATION in FS_FILEINFO!\n"); 1931 (削除) return rc (削除ここまで);2007 (追記) goto FS_FILEINFOEXIT (追記ここまで); 1932 2008 } 1933 2009 … … 2008 2084 { 2009 2085 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n"); 2010 (削除) return rc (削除ここまで);2086 (追記) goto FS_FILEINFOEXIT (追記ここまで); 2011 2087 } 2012 2088 … … 2015 2091 { 2016 2092 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n"); 2017 (削除) return rc (削除ここまで);2093 (追記) goto FS_FILEINFOEXIT (追記ここまで); 2018 2094 } 2019 2095 … … 2035 2111 { 2036 2112 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n"); 2037 (削除) return rc (削除ここまで);2113 (追記) goto FS_FILEINFOEXIT (追記ここまで); 2038 2114 } 2039 2115 … … 2042 2118 { 2043 2119 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n"); 2044 (削除) return rc (削除ここまで);2120 (追記) goto FS_FILEINFOEXIT (追記ここまで); 2045 2121 } 2046 2122 if (!f32Parms.fEAS) … … 2068 2144 { 2069 2145 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n"); 2070 (削除) return rc (削除ここまで);2146 (追記) goto FS_FILEINFOEXIT (追記ここまで); 2071 2147 } 2072 2148 … … 2165 2241 if (f32Parms.fMessageActive & LOG_FS) 2166 2242 Message("FS_FILEINFO returned %u", rc); 2243 (追記) (追記ここまで) 2244 (追記) _asm pop es; (追記ここまで) 2245 (追記) (追記ここまで) 2167 2246 return rc; 2168 2247 } … … 2171 2250 * 2172 2251 ******************************************************************/ 2173 int far pascal _loadds (削除) (削除ここまで)FS_FILEIO(2252 int far pascal _loadds (追記) (追記ここまで)FS_FILEIO( 2174 2253 struct sffsi far * psffsi, /* psffsi */ 2175 2254 struct sffsd far * psffsd, /* psffsd */ … … 2196 2275 * 2197 2276 ******************************************************************/ 2198 int far pascal _loadds (削除) (削除ここまで)FS_NMPIPE(2277 int far pascal _loadds (追記) (追記ここまで)FS_NMPIPE( 2199 2278 struct sffsi far * psffsi, /* psffsi */ 2200 2279 struct sffsd far * psffsd, /* psffsd */ -
branches/fat32-0.10/src/ifs/ifsfind.c
r109 r115 25 25 PFINDINFO pFindInfo = (PFINDINFO)pfsfsd; 26 26 27 (追記) _asm push es; (追記ここまで) 28 (追記) (追記ここまで) 27 29 if (f32Parms.fMessageActive & LOG_FS) 28 30 Message("FS_FINDCLOSE"); … … 36 38 pFindInfo->pInfo = NULL; 37 39 } 40 (追記) (追記ここまで) 41 (追記) _asm pop es; (追記ここまで) 38 42 39 43 return 0; … … 71 75 PROCINFO ProcInfo; 72 76 77 (追記) _asm push es; (追記ここまで) 78 (追記) (追記ここまで) 73 79 if (f32Parms.fMessageActive & LOG_FS) 74 80 Message("FS_FINDFIRST for %s attr %X, Level %d, cbData %u, MaxEntries %u", pName, usAttr, usLevel, cbData, *pcMatch); … … 121 127 { 122 128 Message("FAT32: Protection VIOLATION in FS_FINDFIRST! (SYS%d)", rc); 123 (削除) return rc (削除ここまで);129 (追記) goto FS_FINDFIRSTEXIT (追記ここまで); 124 130 } 125 131 … … 280 286 FS_FINDCLOSE(pfsfsi, pfsfsd); 281 287 } 288 (追記) (追記ここまで) 289 (追記) _asm pop es; (追記ここまで) 282 290 283 291 return rc; … … 309 317 310 318 pFindInfo->ulCurEntry = ulPosition + 1; 311 (削除) (削除ここまで)312 319 return FS_FINDNEXT(pfsfsi, pfsfsd, pData, cbData, pcMatch, usLevel, usFlags); 313 320 } … … 333 340 USHORT usEntriesWanted; 334 341 342 (追記) _asm push es; (追記ここまで) 343 (追記) (追記ここまで) 335 344 if (f32Parms.fMessageActive & LOG_FS) 336 345 Message("FS_FINDNEXT, level %u, cbData %u, MaxEntries %u", usLevel, cbData, *pcMatch); … … 375 384 { 376 385 Message("FAT32: Protection VIOLATION in FS_FINDNEXT!"); 377 (削除) return rc (削除ここまで);386 (追記) goto FS_FINDNEXTEXIT (追記ここまで); 378 387 } 379 388 … … 441 450 Message("FS_FINDNEXT returned %d (%d entries)", 442 451 rc, *pcMatch); 452 (追記) (追記ここまで) 453 (追記) _asm pop es; (追記ここまで) 454 (追記) (追記ここまで) 443 455 return rc; 444 456 } -
branches/fat32-0.10/src/ifs/ifslog.c
r109 r115 37 37 static BOOL fWriteLogging(PSZ pszMessage); 38 38 39 VOID cdecl (削除) (削除ここまで)Message(PSZ pszMessage, ...)39 VOID cdecl (追記) _loadds (追記ここまで)Message(PSZ pszMessage, ...) 40 40 { 41 41 static BYTE szMessage[512]; … … 45 45 USHORT usThreadID; 46 46 47 (追記) _asm push es; (追記ここまで) 48 (追記) (追記ここまで) 47 49 if (!f32Parms.fMessageActive) 50 (追記) { (追記ここまで) 51 (追記) _asm pop es; (追記ここまで) 48 52 return; 53 (追記) } (追記ここまで) 49 54 50 55 va_start(va, pszMessage); … … 62 67 vsprintf(szMessage + strlen(szMessage), pszMessage, va); 63 68 fWriteLogging(szMessage); 64 //serout(serial_hw_port, szMessage); 69 serout(serial_hw_port, szMessage); 70 71 _asm pop es; 65 72 } 66 73 … … 149 156 } 150 157 151 (削除) (削除ここまで)152 158 /* Read a byte from a port. */ 153 159 static _inline unsigned char … … 212 218 comout(port, '\n'); 213 219 } 220 (追記) (追記ここまで) -
branches/fat32-0.10/src/ifs/ifsmount-new.c
r109 r115 61 61 #pragma optimize("eglt",off) 62 62 63 int far pascal _loadds (削除) (削除ここまで)FS_MOUNT(unsigned short usFlag, /* flag */63 int far pascal _loadds (追記) (追記ここまで)FS_MOUNT(unsigned short usFlag, /* flag */ 64 64 struct vpfsi far * pvpfsi, /* pvpfsi */ 65 65 struct vpfsd far * pvpfsd, /* pvpfsd */ … … 87 87 openjfs source does the same, just be on the safe side 88 88 */ 89 (追記) _asm push es; (追記ここまで) 89 90 _asm sti; 90 91 … … 493 494 if (f32Parms.fMessageActive & LOG_FS) 494 495 Message("FS_MOUNT returned %u\n", rc); 496 (追記) (追記ここまで) 497 (追記) (追記ここまで) 498 (追記) _asm pop es; (追記ここまで) 499 (追記) (追記ここまで) 495 500 return rc; 496 501 } -
branches/fat32-0.10/src/ifs/ifsmount.c
r109 r115 18 18 PRIVATE BOOL IsFAT32(PBOOTSECT pBoot); 19 19 20 int far pascal _loadds (削除) (削除ここまで)FS_MOUNT(unsigned short usFlag, /* flag */20 int far pascal _loadds (追記) (追記ここまで)FS_MOUNT(unsigned short usFlag, /* flag */ 21 21 struct vpfsi far * pvpfsi, /* pvpfsi */ 22 22 struct vpfsd far * pvpfsd, /* pvpfsd */ … … 34 34 35 35 _asm push es; 36 (削除) //_asm push bx; (削除ここまで)37 36 38 37 if (f32Parms.fMessageActive & LOG_FS) … … 217 216 if (rc && rc != ERROR_WRITE_PROTECT) 218 217 { 219 Message("Cannot access drive, rc = %u", rc); 218 if (f32Parms.fMessageActive & LOG_FS) 219 Message("Cannot access drive, rc = %u", rc); 220 220 goto FS_MOUNT_EXIT; 221 221 } … … 224 224 225 225 pVolInfo->fDiskCleanOnMount = pVolInfo->fDiskClean = GetDiskStatus(pVolInfo); 226 if (!pVolInfo->fDiskCleanOnMount (削除) (削除ここまで))226 if (!pVolInfo->fDiskCleanOnMount(追記) && f32Parms.fMessageActive & LOG_FS (追記ここまで)) 227 227 Message("DISK IS DIRTY!"); 228 228 if (pVolInfo->fWriteProtected) … … 239 239 pVolChars = pvpfsi->vpi_pVCS; 240 240 241 if (pDevCaps->Capabilities & GDC_DD_Read2) 242 Message("Read2 supported"); 243 if (pDevCaps->Capabilities & GDC_DD_DMA_Word) 244 Message("DMA on word alligned buffers supported"); 245 if (pDevCaps->Capabilities & GDC_DD_DMA_Byte) 246 Message("DMA on byte alligned buffers supported"); 247 if (pDevCaps->Capabilities & GDC_DD_Mirror) 248 Message("Disk Mirroring supported"); 249 if (pDevCaps->Capabilities & GDC_DD_Duplex) 250 Message("Disk Duplexing supported"); 251 if (pDevCaps->Capabilities & GDC_DD_No_Block) 252 Message("Strategy2 does not block"); 253 if (pDevCaps->Capabilities & GDC_DD_16M) 254 Message(">16M supported"); 241 if (f32Parms.fMessageActive & LOG_FS) 242 { 243 if (pDevCaps->Capabilities & GDC_DD_Read2) 244 Message("Read2 supported"); 245 if (pDevCaps->Capabilities & GDC_DD_DMA_Word) 246 Message("DMA on word alligned buffers supported"); 247 if (pDevCaps->Capabilities & GDC_DD_DMA_Byte) 248 Message("DMA on byte alligned buffers supported"); 249 if (pDevCaps->Capabilities & GDC_DD_Mirror) 250 Message("Disk Mirroring supported"); 251 if (pDevCaps->Capabilities & GDC_DD_Duplex) 252 Message("Disk Duplexing supported"); 253 if (pDevCaps->Capabilities & GDC_DD_No_Block) 254 Message("Strategy2 does not block"); 255 if (pDevCaps->Capabilities & GDC_DD_16M) 256 Message(">16M supported"); 257 } 258 255 259 if (pDevCaps->Strategy2) 256 { 257 Message("Strategy2 address at %lX", pDevCaps->Strategy2); 258 Message("ChgPriority address at %lX", pDevCaps->ChgPriority); 260 { 261 if (f32Parms.fMessageActive & LOG_FS) 262 { 263 Message("Strategy2 address at %lX", pDevCaps->Strategy2); 264 Message("ChgPriority address at %lX", pDevCaps->ChgPriority); 265 } 259 266 260 267 pVolInfo->pfnStrategy = (STRATFUNC)pDevCaps->Strategy2; 261 268 pVolInfo->pfnPriority = (STRATFUNC)pDevCaps->ChgPriority; 262 (削除) (削除ここまで)}269 (追記) (追記ここまで)} 263 270 264 271 rc = 0; … … 343 350 pVolChars = pvpfsi->vpi_pVCS; 344 351 345 if (pDevCaps->Capabilities & GDC_DD_Read2) 346 Message("Read2 supported"); 347 if (pDevCaps->Capabilities & GDC_DD_DMA_Word) 348 Message("DMA on word alligned buffers supported"); 349 if (pDevCaps->Capabilities & GDC_DD_DMA_Byte) 350 Message("DMA on byte alligned buffers supported"); 351 if (pDevCaps->Capabilities & GDC_DD_Mirror) 352 Message("Disk Mirroring supported"); 353 if (pDevCaps->Capabilities & GDC_DD_Duplex) 354 Message("Disk Duplexing supported"); 355 if (pDevCaps->Capabilities & GDC_DD_No_Block) 356 Message("Strategy2 does not block"); 357 if (pDevCaps->Capabilities & GDC_DD_16M) 358 Message(">16M supported"); 352 if (f32Parms.fMessageActive & LOG_FS) 353 { 354 if (pDevCaps->Capabilities & GDC_DD_Read2) 355 Message("Read2 supported"); 356 if (pDevCaps->Capabilities & GDC_DD_DMA_Word) 357 Message("DMA on word alligned buffers supported"); 358 if (pDevCaps->Capabilities & GDC_DD_DMA_Byte) 359 Message("DMA on byte alligned buffers supported"); 360 if (pDevCaps->Capabilities & GDC_DD_Mirror) 361 Message("Disk Mirroring supported"); 362 if (pDevCaps->Capabilities & GDC_DD_Duplex) 363 Message("Disk Duplexing supported"); 364 if (pDevCaps->Capabilities & GDC_DD_No_Block) 365 Message("Strategy2 does not block"); 366 if (pDevCaps->Capabilities & GDC_DD_16M) 367 Message(">16M supported"); 368 } 369 359 370 if (pDevCaps->Strategy2) 360 { 361 Message("Strategy2 address at %lX", pDevCaps->Strategy2); 362 Message("ChgPriority address at %lX", pDevCaps->ChgPriority); 371 { 372 if (f32Parms.fMessageActive & LOG_FS) 373 { 374 Message("Strategy2 address at %lX", pDevCaps->Strategy2); 375 Message("ChgPriority address at %lX", pDevCaps->ChgPriority); 376 } 363 377 364 378 pVolInfo->pfnStrategy = (STRATFUNC)pDevCaps->Strategy2; 365 379 pVolInfo->pfnPriority = (STRATFUNC)pDevCaps->ChgPriority; 366 (削除) (削除ここまで)}380 (追記) (追記ここまで)} 367 381 368 382 rc = 0; … … 435 449 usVolCount--; 436 450 } 437 } (削除) (削除ここまで)438 */ 451 } (追記) */ (追記ここまで) 452 439 453 RemoveVolume(pVolInfo); 440 454 freeseg(pVolInfo); … … 451 465 Message("FS_MOUNT returned %u\n", rc); 452 466 453 (削除) //_asm int 3 (削除ここまで)454 (削除) //_asm pop bx; (削除ここまで)455 467 _asm pop es; 456 468 -
branches/fat32-0.10/src/ifs/ifsswap.c
r113 r115 17 17 * 18 18 ******************************************************************/ 19 int far pascal _loadds (削除) (削除ここまで)FS_OPENPAGEFILE (19 int far pascal _loadds (追記) (追記ここまで)FS_OPENPAGEFILE ( 20 20 unsigned long far *pFlags, /* pointer to Flags */ 21 21 unsigned long far *pcMaxReq, /* max # of reqs packed in list */ … … 48 48 * 49 49 ******************************************************************/ 50 int far pascal _loadds (削除) (削除ここまで)FS_ALLOCATEPAGESPACE(50 int far pascal _loadds (追記) (追記ここまで)FS_ALLOCATEPAGESPACE( 51 51 struct sffsi far *psffsi, /* ptr to fs independent SFT */ 52 52 struct sffsd far *psffsd, /* ptr to fs dependent SFT */ … … 68 68 * 69 69 ******************************************************************/ 70 int far pascal _loadds (削除) (削除ここまで)FS_DOPAGEIO(70 int far pascal _loadds (追記) (追記ここまで)FS_DOPAGEIO( 71 71 struct sffsi far * psffsi, /* ptr to fs independent SFT */ 72 72 struct sffsd far * psffsd, /* ptr to fs dependent SFT */ … … 86 86 * 87 87 ******************************************************************/ 88 int far pascal _loadds (削除) (削除ここまで)FS_SETSWAP(88 int far pascal _loadds (追記) (追記ここまで)FS_SETSWAP( 89 89 struct sffsi far * psffsi, /* psffsi */ 90 90 struct sffsd far * psffsd /* psffsd */ 91 91 ) 92 92 { 93 (削除) (削除ここまで)94 93 if (f32Parms.fMessageActive & LOG_FS) 95 94 Message("FS_SETSWAP - NOT SUPPORTED"); -
branches/fat32-0.10/src/include/fat32ifs.h
r103 r115 297 297 IMPORT BOOL RemoveFindEntry(PVOLINFO pVolInfo, PFINFO pFindInfo); 298 298 IMPORT USHORT GetProcInfo(PPROCINFO pProcInfo, USHORT usSize); 299 IMPORT VOID cdecl (削除) (削除ここまで)Message(PSZ pszMessage, ...);299 IMPORT VOID cdecl (追記) _loadds (追記ここまで)Message(PSZ pszMessage, ...); 300 300 IMPORT USHORT cdecl CritMessage(PSZ pszMessage, ...); 301 301 IMPORT VOID cdecl FatalMessage(PSZ pszMessage, ...); -
branches/fat32-0.10/src/ufat32/_icc.cmd
r111 r115 6 6 SET COMSPEC=D:\OS2\CMD.EXE 7 7 SET OS2_SHELL=D:\OS2\CMD.EXE 8 SET LANG= (削除) us (削除ここまで)8 SET LANG=(追記) en_US (追記ここまで) 9 9 rem SET DDK=f:\ddk 10 10 rem SET DDKTOOLS=f:\ddktools … … 16 16 rem SET INCLUDE=..\include;%include% 17 17 rem SET LIB=..\lib;%lib% 18 SET INCLUDE=..\include;%ibmc%\include;%i (削除) bmc%\INCLUDE\OS2;%i (削除ここまで)nclude%18 SET INCLUDE=..\include;%ibmc%\include;%i(追記) (追記ここまで)nclude% 19 19 SET LIB=..\lib;%ibmc%\lib;%LIB% 20 SET BEGINLIBPATH=%ibmc%\RUNTIME;%ibmc%\DLL 21 SET PATH=%ibmc%\BIN;%ibmc%\HELP;;%MASM%\BINP;%PATH% 22 SET DPATH=%ibmc%\MSG;%ibmc%\LOCALE\%LANG%;%ibmc%\HELP;%ibmc%;%DPATH% 23 SET HELP=%ibmc%\HELP;%HELP% 20 SET HELP=%CXXMAIN%\HELP;%HELP% 21 SET IPFC=%CXXMAIN%\BIN;%IPFC% 22 SET CPP_DBG_LANG=CPP 23 SET BEGINLIBPATH=%ibmc%\DLL;%ibmc%\runtime; 24 SET PATH=%ibmc%\BIN;%PATH% 25 SET DPATH=%ibmc%\HELP;%ibmc%\locale;%ibmc%\msg;%DPATH% 26 SET NLSPATHTEMP=%ibmc%\locale\%%N;%ibmc%\msg\%%N 27 SET NLSPATH=%nlspathtemp%;%nlspath% 24 28 rem SET INCLUDE=%ibmc%\INCLUDE;%ibmc%\INCLUDE\OS2;%INCLUDE% 25 29 rem call %IBMC%\bin\setenv.cmd -
branches/fat32-0.10/src/ufat32/format.c
r107 r115 428 428 429 429 //printf("001\n"); 430 (削除) // free memory (削除ここまで)431 (削除) mem_free ( (void *)pFirstSectOfFat, dp.BytesPerSect ); (削除ここまで)432 (削除) mem_free ( (void *)pFAT32FsInfo, dp.BytesPerSect ); (削除ここまで)433 (削除) mem_free ( (void *)pFAT32BootSect, dp.BytesPerSect ); (削除ここまで)434 430 435 431 // The filesystem recogniser in Windows XP doesn't use the partition type - in can be … … 451 447 //printf("003\n"); 452 448 //set_vol_label (path, vol); 449 (追記) //DosSleep(3000); (追記ここまで) 453 450 //printf("004\n"); 454 451 remount_media ( hDevice ); … … 466 463 fflush(stdout); 467 464 //printf("010\n"); 465 (追記) (追記ここまで) 466 (追記) // free memory (追記ここまで) 467 (追記) mem_free ( (void *)pFirstSectOfFat, dp.BytesPerSect ); (追記ここまで) 468 (追記) mem_free ( (void *)pFAT32FsInfo, dp.BytesPerSect ); (追記ここまで) 469 (追記) mem_free ( (void *)pFAT32BootSect, dp.BytesPerSect ); (追記ここまで) 468 470 469 471 return( TRUE ); -
branches/fat32-0.10/src/util/_icc.cmd
r111 r115 19 19 SET BEGINLIBPATH=%ibmc%\RUNTIME;%ibmc%\DLL 20 20 SET PATH=%ibmc%\BIN;%MASM%\BINP;%PATH% 21 SET DPATH=%ibmc%\msg;%ibmc%\HELP;%ibmc%\ (削除) (削除ここまで)LOCALE;%ibmc%;%DPATH%21 SET DPATH=%ibmc%\msg;%ibmc%\HELP;%ibmc%\(追記) runtime;%ibmc%\ (追記ここまで)LOCALE;%ibmc%;%DPATH% 22 22 SET NLSPATHTEMP=%ibmc%\locale\%%N 23 23 SET NLSPATH=%NLSPATHTEMP%;%NLSPATH%
Note:
See TracChangeset
for help on using the changeset viewer.