Context Navigation


Changeset 115 for branches


Ignore:
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

Legend:

Unmodified
Added
Removed
  • branches/fat32-0.10/src/ifs/_wcc.cmd

    r111 r115
    44setlocal
    55set d=p
    6set WATCOM=p:\dev\watcom
    7set TOOLKIT=p:\os2tk45
    6SET DEBUG=0
    7set WATCOM=f:\dev\watcom
    8set TOOLKIT=f:\os2tk45
    89set PATH=%toolkit%\bin;%watcom%\binp;\tools\bin;%path%
    910set BEGINLIBPATH=%toolkit%\dll;%watcom%\binp\dll;\tools\dll
  • branches/fat32-0.10/src/ifs/fat32.c

    r109 r115
    112112BYTE szDstLongName[ FAT32MAXPATH ];
    113113
    114(追記) _asm push es; (追記ここまで)
    115(追記) (追記ここまで)
    114116 if (f32Parms.fMessageActive & LOG_FS)
    115117 Message("FS_COPY %s to %s, mode %d", pSrc, pDst, usMode);
    344346 if (f32Parms.fMessageActive & LOG_FS)
    345347 Message("FS_COPY returned %u", rc);
    348(追記) (追記ここまで)
    349(追記) _asm pop es; (追記ここまで)
    350(追記) (追記ここまで)
    346351 return rc;
    347352}
    350355*
    351356******************************************************************/
    352int far pascal (削除) (削除ここまで)_loadds FS_DELETE(
    357int far pascal (追記) (追記ここまで)_loadds FS_DELETE(
    353358 struct cdfsi far * pcdfsi, /* pcdfsi */
    354359 struct cdfsd far * pcdfsd, /* pcdfsd */
    366371BYTE szLongName[ FAT32MAXPATH ];
    367372
    373(追記) _asm push es; (追記ここまで)
    374(追記) (追記ここまで)
    368375 if (f32Parms.fMessageActive & LOG_FS)
    369376 Message("FS_DELETE for %s", pFile);
    372379
    373380 if (IsDriveLocked(pVolInfo))
    374 return ERROR_DRIVE_LOCKED;
    381 {
    382 rc = ERROR_DRIVE_LOCKED;
    383 goto FS_DELETEEXIT;
    384 }
    375385 if (!pVolInfo->fDiskCleanOnMount)
    376 return ERROR_VOLUME_DIRTY;
    386 {
    387 rc = ERROR_VOLUME_DIRTY;
    388 goto FS_DELETEEXIT;
    389 }
    377390 if (pVolInfo->fWriteProtected)
    378 return ERROR_WRITE_PROTECT;
    391 {
    392 rc = ERROR_WRITE_PROTECT;
    393 goto FS_DELETEEXIT;
    394 }
    379395
    380396 pOpenInfo = malloc(sizeof (OPENINFO));
    474490 Message("FS_DELETE returned %u", rc);
    475491
    492(追記) _asm pop es; (追記ここまで)
    493(追記) (追記ここまで)
    476494 return rc;
    477495}
    480498*
    481499******************************************************************/
    482void far pascal (削除) (削除ここまで)_loadds FS_EXIT(
    500void far pascal (追記) (追記ここまで)_loadds FS_EXIT(
    483501 unsigned short usUid, /* uid */
    484502 unsigned short usPid, /* pid */
    490508USHORT rc;
    491509
    510(追記) _asm push es; (追記ここまで)
    511(追記) (追記ここまで)
    492512 if (f32Parms.fMessageActive & LOG_FS)
    493513 Message("FS_EXIT for PID: %X, PDB %X",
    500520 {
    501521 FatalMessage("FAT32: Protection VIOLATION (Volinfo) in FS_EXIT! (SYS%d)", rc);
    502 (削除) return (削除ここまで);
    522 (追記) goto FS_EXITEXIT (追記ここまで);
    503523 }
    504524
    519539 FatalMessage("FAT32: Protection VIOLATION (FindInfo) in FS_EXIT! (SYS%d)", rc);
    520540 Message("FAT32: Protection VIOLATION (FindInfo) in FS_EXIT! (SYS%d)", rc);
    521 (削除) return (削除ここまで);
    541 (追記) goto FS_EXITEXIT (追記ここまで);
    522542 }
    523543
    538558 }
    539559
    560(追記) FS_EXITEXIT: (追記ここまで)
    561(追記) _asm pop es; (追記ここまで)
    562(追記) (追記ここまで)
    540563 return ;
    541564}
    546569*
    547570******************************************************************/
    548int far pascal (削除) (削除ここまで)_loadds FS_FLUSHBUF(
    571int far pascal (追記) (追記ここまで)_loadds FS_FLUSHBUF(
    549572 unsigned short hVPB, /* hVPB */
    550573 unsigned short usFlag /* flag */
    551574)
    552575{
    553PVOLINFO pVolInfo(削除) = GetVolInfo(hVPB) (削除ここまで);
    576PVOLINFO pVolInfo(追記) (追記ここまで);
    554577USHORT rc;
    578(追記) (追記ここまで)
    579(追記) _asm push es; (追記ここまで)
    580(追記) (追記ここまで)
    581(追記) pVolInfo = GetVolInfo(hVPB); (追記ここまで)
    555582
    556583 if (f32Parms.fMessageActive & LOG_FS)
    558585
    559586 if (pVolInfo->fWriteProtected)
    560 return 0;
    587 {
    588 rc = 0;
    589 goto FS_FLUSHEXIT;
    590 }
    561591
    562592 rc = usFlushVolume(pVolInfo, usFlag, TRUE, PRIO_URGENT);
    563593
    564594 if (rc)
    565 (削除) return rc (削除ここまで);
    595 (追記) goto FS_FLUSHEXIT (追記ここまで);
    566596
    567597 if (!f32Parms.usDirtySectors) // vs
    583613 if (f32Parms.fMessageActive & LOG_FS)
    584614 Message("FS_FLUSHBUF returned %u", rc);
    615(追記) (追記ここまで)
    616(追記) _asm pop es; (追記ここまで)
    617(追記) (追記ここまで)
    585618 return rc;
    586619}
    590623*
    591624******************************************************************/
    592int far pascal (削除) (削除ここまで)_loadds FS_FSCTL(
    625int far pascal (追記) (追記ここまで)_loadds FS_FSCTL(
    593626 union argdat far * pArgDat, /* pArgdat */
    594627 unsigned short usArgType, /* iArgType */
    605638POPENINFO pOpenInfo;
    606639
    640(追記) _asm push es; (追記ここまで)
    607641
    608642 if (usFunc != FAT32_GETLOGDATA && f32Parms.fMessageActive & LOG_FS)
    618652 {
    619653 Message("Protection VIOLATION in Data of FS_FSCTL!");
    620 (削除) return rc (削除ここまで);
    654 (追記) goto FS_FSCTLEXIT (追記ここまで);
    621655 }
    622656 }
    644678 {
    645679 Message("Protection VIOLATION in Parm of FS_FSCTL!");
    646 (削除) return rc (削除ここまで);
    680 (追記) goto FS_FSCTLEXIT (追記ここまで);
    647681 }
    648682 }
    842876 *pcbData = sizeof f32Parms;
    843877 if (cbData < sizeof (F32PARMS))
    844 return ERROR_BUFFER_OVERFLOW;
    878 {
    879 rc = ERROR_BUFFER_OVERFLOW;
    880 goto FS_FSCTLEXIT;
    881 }
    845882 memcpy(pData, &f32Parms, sizeof (F32PARMS));
    846883 rc = 0;
    937974 if (usFunc != FAT32_GETLOGDATA && f32Parms.fMessageActive & LOG_FS)
    938975 Message("FS_FSCTL returned %u", rc);
    976(追記) (追記ここまで)
    977(追記) _asm pop es; (追記ここまで)
    978(追記) (追記ここまで)
    939979 return rc;
    940980}
    954994USHORT rc;
    955995
    996(追記) _asm push es; (追記ここまで)
    997(追記) (追記ここまで)
    956998 if (f32Parms.fMessageActive & LOG_FS)
    957999 Message("FS_FSINFO, Flag = %d, Level = %d", usFlag, usLevel);
    9601002
    9611003 if (IsDriveLocked(pVolInfo))
    962 return ERROR_DRIVE_LOCKED;
    1004 {
    1005 rc = ERROR_DRIVE_LOCKED;
    1006 goto FS_FSINFOEXIT;
    1007 }
    9631008
    9641009 if (pVolInfo->fFormatInProgress)
    965 return ERROR_BUSY_DRIVE;
    1010 {
    1011 rc = ERROR_BUSY_DRIVE;
    1012 goto FS_FSINFOEXIT;
    1013 }
    9661014
    9671015 rc = MY_PROBEBUF(PB_OPWRITE, pData, cbData);
    9691017 {
    9701018 Message("Protection VIOLATION in FS_FSINFO!");
    971 (削除) return rc (削除ここまで);
    1019 (追記) goto FS_FSINFOEXIT (追記ここまで);
    9721020 }
    9731021
    9801028 PFSALLOCATE pAlloc = (PFSALLOCATE)pData;
    9811029
    982(削除) Message("FSIL_ALLOC"); (削除ここまで)
    9831030 if (cbData < sizeof (FSALLOCATE))
    9841031 {
    10281075 PFSINFO pInfo = (PFSINFO)pData;
    10291076 USHORT usSize;
    1030(削除) Message("FSIL_VOLSER"); (削除ここまで)
    10311077 if (cbData < sizeof (FSINFO))
    10321078 {
    10731119 if (pVol->cch < (BYTE)12)
    10741120 {
    1075(削除) Message("FSIL_VOLSER < 12 , fGetSetVolLabel in"); (削除ここまで)
    10761121 usSize = (USHORT) pVol->cch;
    1077(削除) Message("fGetSetVolLabel out, rc=%u", rc); (削除ここまで)
    10781122 rc = fGetSetVolLabel(pVolInfo, usFlag, pVol->szVolLabel, &usSize);
    10791123 }
    10811125 {
    10821126 usSize = 11;
    1083(削除) Message("FSIL_VOLSER, too long, fGetSetVolLabel in"); (削除ここまで)
    10841127 rc = fGetSetVolLabel(pVolInfo, usFlag, pVol->szVolLabel, &usSize);
    1085(削除) Message("fGetSetVolLabel out, rc=%lu", rc); (削除ここまで)
    10861128 if (!rc)
    10871129 rc = ERROR_LABEL_TOO_LONG;
    11021144 if (f32Parms.fMessageActive & LOG_FS)
    11031145 Message("FS_FSINFO returned %u", rc);
    1146(追記) (追記ここまで)
    1147(追記) _asm pop es; (追記ここまで)
    1148(追記) (追記ここまで)
    11041149 return rc;
    11051150}
    12331278PSZ p;
    12341279
    1280(追記) _asm push es; (追記ここまで)
    1281(追記) (追記ここまで)
    12351282 pMiniFSD = pMiniFSD;
    12361283
    13211368 {
    13221369 InitMessage("FAT32: Unable to acquire Global Infoseg!\r\n");
    1370(追記) _asm pop es; (追記ここまで)
    13231371 return 1;
    13241372 }
    13291377 if (!ulCacheSectors)
    13301378 InitMessage("FAT32: Warning CACHE size is zero!\r\n");
    1379(追記) (追記ここまで)
    1380(追記) _asm pop es; (追記ここまで)
    13311381
    13321382 return 0;
    13621412PBIOSPARAMETERBLOCK pBPB;
    13631413
    1414(追記) _asm push es; (追記ここまで)
    1415(追記) (追記ここまで)
    13641416 psffsd = psffsd;
    13651417
    13801432 {
    13811433 Message("Protection VIOLATION in data of FS_IOCTL!");
    1382 (削除) return rc (削除ここまで);
    1434 (追記) goto FS_IOCTLEXIT (追記ここまで);
    13831435 }
    13841436 }
    14091461 Message("Protection VIOLATION in parm of FS_IOCTL, address %lX, len %u!",
    14101462 pParm, cbParm);
    1411 (削除) return rc (削除ここまで);
    1463 (追記) goto FS_IOCTLEXIT (追記ここまで);
    14121464 }
    14131465 }
    15511603 *(PWORD)pData = 0x0006;
    15521604
    1553(削除) Message("DSK_GETLOCKSTATUS, rc=%u", rc); (削除ここまで)
    15541605 rc = 0;
    15551606 break;
    18551906 if (f32Parms.fMessageActive & LOG_FS)
    18561907 Message("FS_IOCTL returned %u", rc);
    1908(追記) (追記ここまで)
    1909(追記) _asm pop es; (追記ここまで)
    1910(追記) (追記ここまで)
    18571911 return rc;
    1858(削除) (削除ここまで)
    18591912}
    18601913
    20162069*
    20172070******************************************************************/
    2018int far pascal (削除) (削除ここまで)_loadds FS_MOVE(
    2071int far pascal (追記) (追記ここまで)_loadds FS_MOVE(
    20192072 struct cdfsi far * pcdfsi, /* pcdfsi */
    20202073 struct cdfsd far * pcdfsd, /* pcdfsd */
    20392092BYTE szSrcLongName[ FAT32MAXPATH ];
    20402093BYTE szDstLongName[ FAT32MAXPATH ];
    2094(追記) (追記ここまで)
    2095(追記) _asm push es; (追記ここまで)
    20412096
    20422097 if (f32Parms.fMessageActive & LOG_FS)
    22092264 if (pOISrc->pSHInfo->sOpenCount > 1)
    22102265 {
    2211 (削除) (削除ここまで)rc = ERROR_ACCESS_DENIED;
    2266 (追記) (追記ここまで)rc = ERROR_ACCESS_DENIED;
    22122267 goto FS_MOVEEXIT;
    22132268 }
    23192374 return rc;
    23202375
    2376(追記) _asm pop es; (追記ここまで)
    2377(追記) (追記ここまで)
    23212378 usFlags = usFlags;
    23222379}
    23252382*
    23262383******************************************************************/
    2327int far pascal (削除) (削除ここまで)_loadds FS_PROCESSNAME(
    2384int far pascal (追記) (追記ここまで)_loadds FS_PROCESSNAME(
    23282385 char far * pNameBuf /* pNameBuf */
    23292386)
    23332390 USHORT usLen;
    23342391 char far *p;
    2392(追記) (追記ここまで)
    2393(追記) _asm push es; (追記ここまで)
    23352394
    23362395 if (f32Parms.fMessageActive & LOG_FS)
    23502409 if (f32Parms.fMessageActive & LOG_FS)
    23512410 Message(" FS_PROCESSNAME returned filename: %s", pNameBuf);
    2411(追記) (追記ここまで)
    2412(追記) _asm pop es; (追記ここまで)
    23522413#endif
    23532414 return 0;
    23582419*
    23592420******************************************************************/
    2360int far pascal (削除) (削除ここまで)_loadds FS_SHUTDOWN(
    2421int far pascal (追記) (追記ここまで)_loadds FS_SHUTDOWN(
    23612422 unsigned short usType, /* usType */
    23622423 unsigned long ulReserved /* ulReserved */
    23652426PVOLINFO pVolInfo;
    23662427USHORT rc = 0;
    2428(追記) (追記ここまで)
    2429(追記) _asm push es; (追記ここまで)
    23672430
    23682431 ulReserved = ulReserved;
    24092472 if (f32Parms.fMessageActive & LOG_FS)
    24102473 Message("FS_SHUTDOWN returned %d", rc);
    2474(追記) (追記ここまで)
    2475(追記) _asm pop es; (追記ここまで)
    2476(追記) (追記ここまで)
    24112477 return rc;
    24122478}
    24152481*
    24162482******************************************************************/
    2417int far pascal _loadds (削除) (削除ここまで)FS_VERIFYUNCNAME(
    2483int far pascal _loadds (追記) (追記ここまで)FS_VERIFYUNCNAME(
    24182484 unsigned short usFlag, /* flag */
    24192485 char far * pName /* pName */
    24202486)
    24212487{
    2488(追記) _asm push es; (追記ここまで)
    2489(追記) (追記ここまで)
    24222490 if (f32Parms.fMessageActive & LOG_FS)
    24232491 Message("FS_VERIFYUNCNAME - NOT SUPPORTED");
    24242492 usFlag = usFlag;
    24252493 pName = pName;
    2494(追記) (追記ここまで)
    2495(追記) _asm pop es; (追記ここまで)
    2496(追記) (追記ここまで)
    24262497 return ERROR_NOT_SUPPORTED;
    24272498}
    51675238 return usRet;
    51685239}
    5169(削除) (削除ここまで)
    5170(削除) (削除ここまで)
  • branches/fat32-0.10/src/ifs/ifsattr.c

    r109 r115
    1616*
    1717******************************************************************/
    18int far pascal _loadds (削除) (削除ここまで)FS_FILEATTRIBUTE(
    18int far pascal _loadds (追記) (追記ここまで)FS_FILEATTRIBUTE(
    1919 unsigned short usFlag, /* flag */
    2020 struct cdfsi far * pcdfsi, /* pcdfsi */
    3333USHORT rc;
    3434
    35(追記) _asm push es; (追記ここまで)
    36(追記) (追記ここまで)
    3537 if (f32Parms.fMessageActive & LOG_FS)
    3638 Message("FS_FILEATTRIBUTE, Flag = %X for %s", usFlag, pName);
    3840 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB);
    3941 if (IsDriveLocked(pVolInfo))
    40 return ERROR_DRIVE_LOCKED;
    42 {
    43 rc = ERROR_DRIVE_LOCKED;
    44 goto FS_FILEATTRIBUTEEXIT;
    45 }
    4146
    4247 if (strlen(pName) > FAT32MAXPATH)
    43 return ERROR_FILENAME_EXCED_RANGE;
    48 {
    49 rc = ERROR_FILENAME_EXCED_RANGE;
    50 goto FS_FILEATTRIBUTEEXIT;
    51 }
    4452
    4553 ulDirCluster = FindDirCluster(pVolInfo,
    111119 if (f32Parms.fMessageActive & LOG_FS)
    112120 Message("FS_FILEATTRIBUTE returned %d", rc);
    121(追記) (追記ここまで)
    122(追記) _asm pop es; (追記ここまで)
    123(追記) (追記ここまで)
    113124 return rc;
    114125}
    118129*
    119130******************************************************************/
    120int far pascal _loadds (削除) (削除ここまで)FS_PATHINFO(
    131int far pascal _loadds (追記) (追記ここまで)FS_PATHINFO(
    121132 unsigned short usFlag, /* flag */
    122133 struct cdfsi far * pcdfsi, /* pcdfsi */
    137148USHORT rc;
    138149
    150(追記) _asm push es; (追記ここまで)
    151(追記) (追記ここまで)
    139152 if (f32Parms.fMessageActive & LOG_FS)
    140153 Message("FS_PATHINFO Flag = %d, Level = %d called for %s, cbData = %u",
    143156 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB);
    144157 if (IsDriveLocked(pVolInfo))
    145 return ERROR_DRIVE_LOCKED;
    158 {
    159 rc = ERROR_DRIVE_LOCKED;
    160 goto FS_PATHINFOEXIT;
    161 }
    146162
    147163 if (strlen(pName) > FAT32MAXPATH)
    217233 {
    218234 Message("Protection VIOLATION in FS_PATHINFO!\n");
    219 (削除) return rc (削除ここまで);
    235 (追記) goto FS_PATHINFOEXIT (追記ここまで);
    220236 }
    221237
    286302 {
    287303 Message("Protection VIOLATION in FS_PATHINFO!\n");
    288 (削除) return rc (削除ここまで);
    304 (追記) goto FS_PATHINFOEXIT (追記ここまで);
    289305 }
    290306 rc = MY_PROBEBUF(PB_OPWRITE, (PBYTE)pFEA, (USHORT)pFEA->cbList);
    292308 {
    293309 Message("Protection VIOLATION in FS_PILEINFO!\n");
    294 (削除) return rc (削除ここまで);
    310 (追記) goto FS_PATHINFOEXIT (追記ここまで);
    295311 }
    296312 if (!f32Parms.fEAS)
    314330 {
    315331 Message("Protection VIOLATION in FS_PATHINFO!\n");
    316 (削除) return rc (削除ここまで);
    332 (追記) goto FS_PATHINFOEXIT (追記ここまで);
    317333 }
    318334 rc = MY_PROBEBUF(PB_OPWRITE, (PBYTE)pFEA, (USHORT)pFEA->cbList);
    319335 if (rc)
    320336 {
    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 (追記ここまで);
    323339 }
    324340 if (!f32Parms.fEAS)
    356372 {
    357373 if (!pVolInfo->fDiskCleanOnMount)
    358 return ERROR_VOLUME_DIRTY;
    374 {
    375 rc = ERROR_VOLUME_DIRTY;
    376 goto FS_PATHINFOEXIT;
    377 }
    359378 if (pVolInfo->fWriteProtected)
    360 return ERROR_WRITE_PROTECT;
    379 {
    380 rc = ERROR_WRITE_PROTECT;
    381 goto FS_PATHINFOEXIT;
    382 }
    361383
    362384 rc = MY_PROBEBUF(PB_OPREAD, pData, cbData);
    364386 {
    365387 Message("Protection VIOLATION in FS_PATHINFO!\n");
    366 (削除) return rc (削除ここまで);
    388 (追記) goto FS_PATHINFOEXIT (追記ここまで);
    367389 }
    368390
    473495 if (f32Parms.fMessageActive & LOG_FS)
    474496 Message("FS_PATHINFO returned %u", rc);
    497(追記) (追記ここまで)
    498(追記) _asm pop es; (追記ここまで)
    499(追記) (追記ここまで)
    475500 return rc;
    476501}
    477(削除) (削除ここまで)
  • branches/fat32-0.10/src/ifs/ifscache.c

    r109 r115
    5353PRIVATE BOOL fAddToRLH(PRQLIST pRQ, USHORT usCBIndex, BYTE bPriority);
    5454PRIVATE VOID vCallStrategy(PVOLINFO pVolInfo, PRQLIST pRQ);
    55PRIVATE VOID (削除) _loadds (削除ここまで) rlhNotify(VOID);
    56PRIVATE VOID (削除) _loadds (削除ここまで) rhNotify(VOID);
    55PRIVATE VOID (追記) _loadds (追記ここまで) rlhNotify(VOID);
    56PRIVATE VOID (追記) _loadds (追記ここまで) rhNotify(VOID);
    5757PRIVATE VOID vCheckRequest(PREQUEST pRequest);
    5858PRIVATE USHORT usEmergencyFlush(VOID);
    8383 if (ulSectors > MAX_SECTORS)
    8484 ulSectors = MAX_SECTORS;
    85 (削除) (削除ここまで)Message("Allocating cache space for %ld sectors", ulSectors);
    85 (追記) // (追記ここまで)Message("Allocating cache space for %ld sectors", ulSectors);
    8686
    8787 f32Parms.usCacheSize = 0;
    14981498 return;
    14991499
    1500(追記) _asm push es; // vs (追記ここまで)
    1501(追記) _asm push bx; // (追記ここまで)
    1502(追記) (追記ここまで)
    15001503 rqBase = SELECTOROF(pRQin);
    15011504 pRQ = (RQLIST _based(rqBase) *)OFFSETOF(pRQin);
    15341537
    15351538 pfnStrategy = pVolInfo->pfnStrategy;
    1536(削除) _asm push es; // vs (削除ここまで)
    1537(削除) //_asm push bx; // (削除ここまで)
    15381539
    15391540 _asm mov es, usSeg;
    15411542 (*pfnStrategy)();
    15421543
    1543 (削除) // (削除ここまで)_asm pop bx; // vs
    1544 (追記) (追記ここまで)_asm pop bx; // vs
    15441545 _asm pop es; //
    15451546}
    15581559
    15591560 _asm push es; // vs
    1560 (削除) // (削除ここまで)_asm push bx; //
    1561 (追記) (追記ここまで)_asm push bx; //
    15611562
    15621563 _asm mov ESReg, es
    16411642 }
    16421643
    1643 (削除) // (削除ここまで)_asm pop bx; // vs
    1644 (追記) (追記ここまで)_asm pop bx; // vs
    16441645 _asm pop es; //
    16451646
    16561657
    16571658 _asm push es // vs
    1658 (削除) // (削除ここまで)_asm push bx //
    1659 (追記) (追記ここまで)_asm push bx //
    16591660
    16601661 _asm mov ESReg, es
    16631664 vCheckRequest(MAKEP(ESReg, BXReg));
    16641665
    1665 (削除) // (削除ここまで)_asm pop bx; // vs
    1666 (追記) (追記ここまで)_asm pop bx; // vs
    16661667 _asm pop es; //
    16671668}
    17601761 }
    17611762}
    1762(削除) (削除ここまで)
  • branches/fat32-0.10/src/ifs/ifsdir.c

    r109 r115
    1313#include "fat32ifs.h"
    1414
    15int far pascal _loadds (削除) (削除ここまで)FS_CHDIR(
    15int far pascal _loadds (追記) (追記ここまで)FS_CHDIR(
    1616 unsigned short usFlag, /* flag */
    1717 struct cdfsi far * pcdfsi, /* pcdfsi */
    2828BYTE szDirLongName[ FAT32MAXPATH ];
    2929
    30(追記) _asm push es; (追記ここまで)
    31(追記) (追記ここまで)
    3032 if (f32Parms.fMessageActive & LOG_FS)
    3133 Message("FS_CHDIR, flag %u", usFlag);
    135137 if (f32Parms.fMessageActive & LOG_FS)
    136138 Message("FS_CHDIR returned %u", rc);
    139(追記) (追記ここまで)
    140(追記) _asm pop es; (追記ここまで)
    141(追記) (追記ここまで)
    137142 return rc;
    138143}
    139144
    140int far pascal _loadds (削除) (削除ここまで)FS_MKDIR(
    145int far pascal _loadds (追記) (追記ここまで)FS_MKDIR(
    141146 struct cdfsi far * pcdfsi, /* pcdfsi */
    142147 struct cdfsd far * pcdfsd, /* pcdfsd */
    156161PBYTE pbCluster;
    157162
    163(追記) _asm push es; (追記ここまで)
    164(追記) (追記ここまで)
    158165 usFlags = usFlags;
    159166
    163170 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB);
    164171 if (IsDriveLocked(pVolInfo))
    165 return ERROR_DRIVE_LOCKED;
    172 {
    173 rc = ERROR_DRIVE_LOCKED;
    174 goto FS_MKDIREXIT;
    175 }
    166176 if (!pVolInfo->fDiskCleanOnMount)
    167 return ERROR_VOLUME_DIRTY;
    177 {
    178 rc = ERROR_VOLUME_DIRTY;
    179 goto FS_MKDIREXIT;
    180 }
    168181 if (pVolInfo->fWriteProtected)
    169 return ERROR_WRITE_PROTECT;
    182 {
    183 rc = ERROR_WRITE_PROTECT;
    184 goto FS_MKDIREXIT;
    185 }
    170186
    171187 if (strlen(pName) > FAT32MAXPATH)
    172 return ERROR_FILENAME_EXCED_RANGE;
    188 {
    189 rc = ERROR_FILENAME_EXCED_RANGE;
    190 goto FS_MKDIREXIT;
    191 }
    173192
    174193 ulDirCluster = FindDirCluster(pVolInfo,
    251270 if (f32Parms.fMessageActive & LOG_FS)
    252271 Message("FS_MKDIR returned %u", rc);
    272(追記) (追記ここまで)
    273(追記) _asm pop es; (追記ここまで)
    274(追記) (追記ここまで)
    253275 return rc;
    254276}
    273295BYTE szLongName[ FAT32MAXPATH ];
    274296
    297(追記) _asm push es; (追記ここまで)
    298(追記) (追記ここまで)
    275299 if (f32Parms.fMessageActive & LOG_FS)
    276300 Message("FS_RMDIR %s", pName);
    278302 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB);
    279303 if (IsDriveLocked(pVolInfo))
    280 return ERROR_DRIVE_LOCKED;
    304 {
    305 rc = ERROR_DRIVE_LOCKED;
    306 goto FS_RMDIREXIT;
    307 }
    281308 if (!pVolInfo->fDiskCleanOnMount)
    282 return ERROR_VOLUME_DIRTY;
    309 {
    310 rc = ERROR_VOLUME_DIRTY;
    311 goto FS_RMDIREXIT;
    312 }
    283313 if (pVolInfo->fWriteProtected)
    284 return ERROR_WRITE_PROTECT;
    314 {
    315 rc = ERROR_WRITE_PROTECT;
    316 goto FS_RMDIREXIT;
    317 }
    285318 if (strlen(pName) > FAT32MAXPATH)
    286 return ERROR_FILENAME_EXCED_RANGE;
    319 {
    320 rc = ERROR_FILENAME_EXCED_RANGE;
    321 goto FS_RMDIREXIT;
    322 }
    287323
    288324#if 1
    396432 if (f32Parms.fMessageActive & LOG_FS)
    397433 Message("FS_RMDIR returned %u", rc);
    434(追記) (追記ここまで)
    435(追記) _asm pop es; (追記ここまで)
    436(追記) (追記ここまで)
    398437 return rc;
    399438}
  • branches/fat32-0.10/src/ifs/ifsfile.c

    r109 r115
    2828*
    2929******************************************************************/
    30int far pascal _loadds (削除) (削除ここまで)FS_OPENCREATE(
    30int far pascal _loadds (追記) (追記ここまで)FS_OPENCREATE(
    3131 struct cdfsi far * pcdfsi, /* pcdfsi */
    3232 void far * pcdfsd, /* pcdfsd */
    5252USHORT rc;
    5353
    54(追記) _asm push es; (追記ここまで)
    5455
    5556 usIOMode = 0;
    6869 pVolInfo = GetVolInfo(pcdfsi->cdi_hVPB);
    6970 if (IsDriveLocked(pVolInfo))
    70 return ERROR_DRIVE_LOCKED;
    71 {
    72 rc = ERROR_DRIVE_LOCKED;
    73 goto FS_OPENCREATEEXIT;
    74 }
    7175
    7276 *pAction = 0;
    429433 if (f32Parms.fMessageActive & LOG_FS)
    430434 Message("FS_OPENCREATE returned %u (Action = %u, OI=%lX)", rc, *pAction, pOpenInfo);
    435(追記) (追記ここまで)
    436(追記) _asm pop es; (追記ここまで)
    437(追記) (追記ここまで)
    431438 return rc;
    432439}
    563570*
    564571******************************************************************/
    565int far pascal _loadds (削除) (削除ここまで)FS_CLOSE(
    572int far pascal _loadds (追記) (追記ここまで)FS_CLOSE(
    566573 unsigned short usType, /* close type */
    567574 unsigned short IOFlag, /* IOflag */
    570577)
    571578{
    572POPENINFO pOpenInfo(削除) = GetOpenInfo(psffsd) (削除ここまで);
    573PVOLINFO pVolInfo(削除) = GetVolInfo(psffsi->sfi_hVPB) (削除ここまで);
    579POPENINFO pOpenInfo(追記) (追記ここまで);
    580PVOLINFO pVolInfo(追記) (追記ここまで);
    574581USHORT rc = 0;
    582(追記) (追記ここまで)
    583(追記) _asm push es; (追記ここまで)
    584(追記) (追記ここまで)
    585(追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで)
    586(追記) pVolInfo = GetVolInfo(psffsi->sfi_hVPB); (追記ここまで)
    575587
    576588 if (f32Parms.fMessageActive & LOG_FS)
    586598
    587599 if (IsDriveLocked(pVolInfo))
    588 return ERROR_DRIVE_LOCKED;
    600 {
    601 rc = ERROR_DRIVE_LOCKED;
    602 goto FS_CLOSEEXIT;
    603 }
    589604
    590605 if (usType == FS_CL_FORSYS)
    617632 if (f32Parms.fMessageActive & LOG_FS)
    618633 Message("FS_CLOSE returned %u", rc);
    634(追記) (追記ここまで)
    635(追記) _asm pop es; (追記ここまで)
    636(追記) (追記ここまで)
    619637 return rc;
    620638}
    623641*
    624642******************************************************************/
    625int far pascal _loadds (削除) (削除ここまで)FS_READ(
    643int far pascal _loadds (追記) (追記ここまで)FS_READ(
    626644 struct sffsi far * psffsi, /* psffsi */
    627645 struct sffsd far * psffsd, /* psffsd */
    633651USHORT rc;
    634652PVOLINFO pVolInfo;
    635POPENINFO pOpenInfo(削除) = GetOpenInfo(psffsd) (削除ここまで);
    653POPENINFO pOpenInfo(追記) (追記ここまで);
    636654USHORT usBytesRead;
    637655USHORT usBytesToRead;
    641659USHORT usBytesPerCluster;
    642660
    661(追記) _asm push es; (追記ここまで)
    662(追記) (追記ここまで)
    663(追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで)
    643664
    644665 usBytesToRead = *pLen;
    10011022 if (f32Parms.fMessageActive & LOG_FS)
    10021023 Message("FS_READ returned %u (%u bytes read)", rc, *pLen);
    1024(追記) (追記ここまで)
    1025(追記) _asm pop es; (追記ここまで)
    1026(追記) (追記ここまで)
    10031027 return rc;
    10041028}
    10071031*
    10081032******************************************************************/
    1009int far pascal _loadds (削除) (削除ここまで)FS_WRITE(
    1033int far pascal _loadds (追記) (追記ここまで)FS_WRITE(
    10101034 struct sffsi far * psffsi, /* psffsi */
    10111035 struct sffsd far * psffsd, /* psffsd */
    10171041USHORT rc;
    10181042PVOLINFO pVolInfo;
    1019POPENINFO pOpenInfo(削除) = GetOpenInfo(psffsd) (削除ここまで);
    1043POPENINFO pOpenInfo(追記) (追記ここまで);
    10201044USHORT usBytesWritten;
    10211045USHORT usBytesToWrite;
    10241048USHORT usClusterOffset;
    10251049USHORT usBytesPerCluster;
    1050(追記) (追記ここまで)
    1051(追記) _asm push es; (追記ここまで)
    1052(追記) (追記ここまで)
    1053(追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで)
    10261054
    10271055 usBytesToWrite = *pLen;
    14851513 if (f32Parms.fMessageActive & LOG_FS)
    14861514 Message("FS_WRITE returned %u (%u bytes written)", rc, *pLen);
    1515(追記) (追記ここまで)
    1516(追記) _asm pop es; (追記ここまで)
    1517(追記) (追記ここまで)
    14871518 return rc;
    14881519}
    15091540*
    15101541******************************************************************/
    1511int far pascal _loadds (削除) (削除ここまで)FS_CANCELLOCKREQUEST(
    1542int far pascal _loadds (追記) (追記ここまで)FS_CANCELLOCKREQUEST(
    15121543 struct sffsi far * psffsi, /* psffsi */
    15131544 struct sffsd far * psffsd, /* psffsd */
    15281559*
    15291560******************************************************************/
    1530int far pascal _loadds (削除) (削除ここまで)FS_CHGFILEPTR(
    1561int far pascal _loadds (追記) (追記ここまで)FS_CHGFILEPTR(
    15311562 struct sffsi far * psffsi, /* psffsi */
    15321563 struct sffsd far * psffsd, /* psffsd */
    15371568{
    15381569PVOLINFO pVolInfo;
    1539POPENINFO pOpenInfo(削除) = GetOpenInfo(psffsd) (削除ここまで);
    1570POPENINFO pOpenInfo(追記) (追記ここまで);
    15401571LONG lNewOffset = 0;
    15411572USHORT rc;
    1573(追記) (追記ここまで)
    1574(追記) _asm push es; (追記ここまで)
    1575(追記) (追記ここまで)
    1576(追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで)
    15421577
    15431578 if (f32Parms.fMessageActive & LOG_FS)
    15471582 pVolInfo = GetVolInfo(psffsi->sfi_hVPB);
    15481583 if (IsDriveLocked(pVolInfo))
    1549 return ERROR_DRIVE_LOCKED;
    1584 {
    1585 rc = ERROR_DRIVE_LOCKED;
    1586 goto FS_CHGFILEPTREXIT;
    1587 }
    15501588
    15511589 switch (usType)
    15821620 if (f32Parms.fMessageActive & LOG_FS)
    15831621 Message("FS_CHGFILEPTR returned %u", rc);
    1622(追記) (追記ここまで)
    1623(追記) _asm pop es; (追記ここまで)
    1624(追記) (追記ここまで)
    15841625 return rc;
    15851626
    15911632*
    15921633******************************************************************/
    1593int far pascal _loadds (削除) (削除ここまで)FS_COMMIT(
    1634int far pascal _loadds (追記) (追記ここまで)FS_COMMIT(
    15941635 unsigned short usType, /* commit type */
    15951636 unsigned short usIOFlag, /* IOflag */
    16001641USHORT rc;
    16011642
    1643(追記) _asm push es; (追記ここまで)
    1644(追記) (追記ここまで)
    16021645 if (f32Parms.fMessageActive & LOG_FS)
    16031646 Message("FS_COMMIT, type %d", usType);
    16151658
    16161659 if (IsDriveLocked(pVolInfo))
    1617 return ERROR_DRIVE_LOCKED;
    1660 {
    1661 rc = ERROR_DRIVE_LOCKED;
    1662 goto FS_COMMITEXIT;
    1663 }
    16181664
    16191665 if (psffsi->sfi_mode & OPEN_FLAGS_DASD)
    1620 return ERROR_NOT_SUPPORTED;
    1666 {
    1667 rc = ERROR_NOT_SUPPORTED;
    1668 goto FS_COMMITEXIT;
    1669 }
    16211670
    16221671 if (!pOpenInfo->pSHInfo->fMustCommit)
    16801729 if (f32Parms.fMessageActive & LOG_FS)
    16811730 Message("FS_COMMIT returned %u", rc);
    1731(追記) (追記ここまで)
    1732(追記) _asm pop es; (追記ここまで)
    1733(追記) (追記ここまで)
    16821734 return rc;
    16831735}
    16861738*
    16871739******************************************************************/
    1688int far pascal _loadds (削除) (削除ここまで)FS_FILELOCKS(
    1740int far pascal _loadds (追記) (追記ここまで)FS_FILELOCKS(
    16891741 struct sffsi far * psffsi, /* psffsi */
    16901742 struct sffsd far * psffsd, /* psffsd */
    17101762*
    17111763******************************************************************/
    1712int far pascal _loadds (削除) (削除ここまで)FS_NEWSIZE(
    1764int far pascal _loadds (追記) (追記ここまで)FS_NEWSIZE(
    17131765 struct sffsi far * psffsi, /* psffsi */
    17141766 struct sffsd far * psffsd, /* psffsd */
    17181770{
    17191771PVOLINFO pVolInfo;
    1720POPENINFO pOpenInfo(削除) = GetOpenInfo(psffsd) (削除ここまで);
    1772POPENINFO pOpenInfo(追記) (追記ここまで);
    17211773USHORT rc;
    1774(追記) (追記ここまで)
    1775(追記) _asm push es; (追記ここまで)
    1776(追記) (追記ここまで)
    1777(追記) pOpenInfo = GetOpenInfo(psffsd); (追記ここまで)
    17221778
    17231779 pOpenInfo->pSHInfo->fMustCommit = TRUE;
    17271783
    17281784 if (psffsi->sfi_mode & OPEN_FLAGS_DASD)
    1729 return ERROR_NOT_SUPPORTED;
    1785 {
    1786 rc = ERROR_NOT_SUPPORTED;
    1787 goto FS_NEWSIZEEXIT;
    1788 }
    17301789
    17311790 pVolInfo = GetVolInfo(psffsi->sfi_hVPB);
    17321791 if (IsDriveLocked(pVolInfo))
    1733 return ERROR_DRIVE_LOCKED;
    1792 {
    1793 rc = ERROR_DRIVE_LOCKED;
    1794 goto FS_NEWSIZEEXIT;
    1795 }
    17341796 if (pVolInfo->fWriteProtected)
    1735 return ERROR_WRITE_PROTECT;
    1797 {
    1798 rc = ERROR_WRITE_PROTECT;
    1799 goto FS_NEWSIZEEXIT;
    1800 }
    17361801
    17371802 rc = NewSize(pVolInfo, psffsi, psffsd, ulLen, usIOFlag);
    17411806 if (f32Parms.fMessageActive & LOG_FS)
    17421807 Message("FS_NEWSIZE returned %u", rc);
    1808(追記) (追記ここまで)
    1809(追記) FS_NEWSIZEEXIT: (追記ここまで)
    1810(追記) _asm pop es; (追記ここまで)
    17431811
    17441812 return rc;
    18601928*
    18611929******************************************************************/
    1862int far pascal _loadds (削除) (削除ここまで)FS_FILEINFO(unsigned short usFlag, /* flag */
    1930int far pascal _loadds (追記) (追記ここまで)FS_FILEINFO(unsigned short usFlag, /* flag */
    18631931 struct sffsi far * psffsi, /* psffsi */
    18641932 struct sffsd far * psffsd, /* psffsd */
    18701938{
    18711939PVOLINFO pVolInfo;
    1872POPENINFO pOpenInfo(削除) = GetOpenInfo(psffsd) (削除ここまで);
    1940POPENINFO pOpenInfo(追記) (追記ここまで);
    18731941USHORT usNeededSize;
    18741942USHORT rc;
    18751943PSZ pszFile;
    18761944
    1877
    1945 _asm push es;
    1946
    1947 pOpenInfo = GetOpenInfo(psffsd);
    18781948
    18791949 if (f32Parms.fMessageActive & LOG_FS)
    18841954 pVolInfo = GetVolInfo(psffsi->sfi_hVPB);
    18851955 if (psffsi->sfi_mode & OPEN_FLAGS_DASD)
    1886 return ERROR_NOT_SUPPORTED;
    1956 {
    1957 rc = ERROR_NOT_SUPPORTED;
    1958 goto FS_FILEINFOEXIT;
    1959 }
    18871960 if (IsDriveLocked(pVolInfo))
    1888 return ERROR_DRIVE_LOCKED;
    1961 {
    1962 rc = ERROR_DRIVE_LOCKED;
    1963 goto FS_FILEINFOEXIT;
    1964 }
    18891965
    18901966 pszFile = strrchr(pOpenInfo->pSHInfo->szFileName, '\\');
    19292005 {
    19302006 Message("Protection VIOLATION in FS_FILEINFO!\n");
    1931 (削除) return rc (削除ここまで);
    2007 (追記) goto FS_FILEINFOEXIT (追記ここまで);
    19322008 }
    19332009
    20082084 {
    20092085 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n");
    2010 (削除) return rc (削除ここまで);
    2086 (追記) goto FS_FILEINFOEXIT (追記ここまで);
    20112087 }
    20122088
    20152091 {
    20162092 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n");
    2017 (削除) return rc (削除ここまで);
    2093 (追記) goto FS_FILEINFOEXIT (追記ここまで);
    20182094 }
    20192095
    20352111 {
    20362112 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n");
    2037 (削除) return rc (削除ここまで);
    2113 (追記) goto FS_FILEINFOEXIT (追記ここまで);
    20382114 }
    20392115
    20422118 {
    20432119 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n");
    2044 (削除) return rc (削除ここまで);
    2120 (追記) goto FS_FILEINFOEXIT (追記ここまで);
    20452121 }
    20462122 if (!f32Parms.fEAS)
    20682144 {
    20692145 Message("FAT32: Protection VIOLATION in FS_FILEINFO!\n");
    2070 (削除) return rc (削除ここまで);
    2146 (追記) goto FS_FILEINFOEXIT (追記ここまで);
    20712147 }
    20722148
    21652241 if (f32Parms.fMessageActive & LOG_FS)
    21662242 Message("FS_FILEINFO returned %u", rc);
    2243(追記) (追記ここまで)
    2244(追記) _asm pop es; (追記ここまで)
    2245(追記) (追記ここまで)
    21672246 return rc;
    21682247}
    21712250*
    21722251******************************************************************/
    2173int far pascal _loadds (削除) (削除ここまで)FS_FILEIO(
    2252int far pascal _loadds (追記) (追記ここまで)FS_FILEIO(
    21742253 struct sffsi far * psffsi, /* psffsi */
    21752254 struct sffsd far * psffsd, /* psffsd */
    21962275*
    21972276******************************************************************/
    2198int far pascal _loadds (削除) (削除ここまで)FS_NMPIPE(
    2277int far pascal _loadds (追記) (追記ここまで)FS_NMPIPE(
    21992278 struct sffsi far * psffsi, /* psffsi */
    22002279 struct sffsd far * psffsd, /* psffsd */
  • branches/fat32-0.10/src/ifs/ifsfind.c

    r109 r115
    2525PFINDINFO pFindInfo = (PFINDINFO)pfsfsd;
    2626
    27(追記) _asm push es; (追記ここまで)
    28(追記) (追記ここまで)
    2729 if (f32Parms.fMessageActive & LOG_FS)
    2830 Message("FS_FINDCLOSE");
    3638 pFindInfo->pInfo = NULL;
    3739 }
    40(追記) (追記ここまで)
    41(追記) _asm pop es; (追記ここまで)
    3842
    3943 return 0;
    7175PROCINFO ProcInfo;
    7276
    77(追記) _asm push es; (追記ここまで)
    78(追記) (追記ここまで)
    7379 if (f32Parms.fMessageActive & LOG_FS)
    7480 Message("FS_FINDFIRST for %s attr %X, Level %d, cbData %u, MaxEntries %u", pName, usAttr, usLevel, cbData, *pcMatch);
    121127 {
    122128 Message("FAT32: Protection VIOLATION in FS_FINDFIRST! (SYS%d)", rc);
    123 (削除) return rc (削除ここまで);
    129 (追記) goto FS_FINDFIRSTEXIT (追記ここまで);
    124130 }
    125131
    280286 FS_FINDCLOSE(pfsfsi, pfsfsd);
    281287 }
    288(追記) (追記ここまで)
    289(追記) _asm pop es; (追記ここまで)
    282290
    283291 return rc;
    309317
    310318 pFindInfo->ulCurEntry = ulPosition + 1;
    311(削除) (削除ここまで)
    312319 return FS_FINDNEXT(pfsfsi, pfsfsd, pData, cbData, pcMatch, usLevel, usFlags);
    313320}
    333340USHORT usEntriesWanted;
    334341
    342(追記) _asm push es; (追記ここまで)
    343(追記) (追記ここまで)
    335344 if (f32Parms.fMessageActive & LOG_FS)
    336345 Message("FS_FINDNEXT, level %u, cbData %u, MaxEntries %u", usLevel, cbData, *pcMatch);
    375384 {
    376385 Message("FAT32: Protection VIOLATION in FS_FINDNEXT!");
    377 (削除) return rc (削除ここまで);
    386 (追記) goto FS_FINDNEXTEXIT (追記ここまで);
    378387 }
    379388
    441450 Message("FS_FINDNEXT returned %d (%d entries)",
    442451 rc, *pcMatch);
    452(追記) (追記ここまで)
    453(追記) _asm pop es; (追記ここまで)
    454(追記) (追記ここまで)
    443455 return rc;
    444456}
  • branches/fat32-0.10/src/ifs/ifslog.c

    r109 r115
    3737static BOOL fWriteLogging(PSZ pszMessage);
    3838
    39VOID cdecl (削除) (削除ここまで)Message(PSZ pszMessage, ...)
    39VOID cdecl (追記) _loadds (追記ここまで)Message(PSZ pszMessage, ...)
    4040{
    4141static BYTE szMessage[512];
    4545USHORT usThreadID;
    4646
    47(追記) _asm push es; (追記ここまで)
    48(追記) (追記ここまで)
    4749 if (!f32Parms.fMessageActive)
    50(追記) { (追記ここまで)
    51(追記) _asm pop es; (追記ここまで)
    4852 return;
    53(追記) } (追記ここまで)
    4954
    5055 va_start(va, pszMessage);
    6267 vsprintf(szMessage + strlen(szMessage), pszMessage, va);
    6368 fWriteLogging(szMessage);
    64 //serout(serial_hw_port, szMessage);
    69 serout(serial_hw_port, szMessage);
    70
    71 _asm pop es;
    6572}
    6673
    149156}
    150157
    151(削除) (削除ここまで)
    152158/* Read a byte from a port. */
    153159static _inline unsigned char
    212218 comout(port, '\n');
    213219}
    220(追記) (追記ここまで)
  • branches/fat32-0.10/src/ifs/ifsmount-new.c

    r109 r115
    6161#pragma optimize("eglt",off)
    6262
    63int far pascal _loadds (削除) (削除ここまで)FS_MOUNT(unsigned short usFlag, /* flag */
    63int far pascal _loadds (追記) (追記ここまで)FS_MOUNT(unsigned short usFlag, /* flag */
    6464 struct vpfsi far * pvpfsi, /* pvpfsi */
    6565 struct vpfsd far * pvpfsd, /* pvpfsd */
    8787 openjfs source does the same, just be on the safe side
    8888 */
    89(追記) _asm push es; (追記ここまで)
    8990 _asm sti;
    9091
    493494 if (f32Parms.fMessageActive & LOG_FS)
    494495 Message("FS_MOUNT returned %u\n", rc);
    496(追記) (追記ここまで)
    497(追記) (追記ここまで)
    498(追記) _asm pop es; (追記ここまで)
    499(追記) (追記ここまで)
    495500 return rc;
    496501}
  • branches/fat32-0.10/src/ifs/ifsmount.c

    r109 r115
    1818PRIVATE BOOL IsFAT32(PBOOTSECT pBoot);
    1919
    20int far pascal _loadds (削除) (削除ここまで)FS_MOUNT(unsigned short usFlag, /* flag */
    20int far pascal _loadds (追記) (追記ここまで)FS_MOUNT(unsigned short usFlag, /* flag */
    2121 struct vpfsi far * pvpfsi, /* pvpfsi */
    2222 struct vpfsd far * pvpfsd, /* pvpfsd */
    3434
    3535 _asm push es;
    36(削除) //_asm push bx; (削除ここまで)
    3736
    3837 if (f32Parms.fMessageActive & LOG_FS)
    217216 if (rc && rc != ERROR_WRITE_PROTECT)
    218217 {
    219 Message("Cannot access drive, rc = %u", rc);
    218 if (f32Parms.fMessageActive & LOG_FS)
    219 Message("Cannot access drive, rc = %u", rc);
    220220 goto FS_MOUNT_EXIT;
    221221 }
    224224
    225225 pVolInfo->fDiskCleanOnMount = pVolInfo->fDiskClean = GetDiskStatus(pVolInfo);
    226 if (!pVolInfo->fDiskCleanOnMount(削除) (削除ここまで))
    226 if (!pVolInfo->fDiskCleanOnMount(追記) && f32Parms.fMessageActive & LOG_FS (追記ここまで))
    227227 Message("DISK IS DIRTY!");
    228228 if (pVolInfo->fWriteProtected)
    239239 pVolChars = pvpfsi->vpi_pVCS;
    240240
    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
    255259 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 }
    259266
    260267 pVolInfo->pfnStrategy = (STRATFUNC)pDevCaps->Strategy2;
    261268 pVolInfo->pfnPriority = (STRATFUNC)pDevCaps->ChgPriority;
    262 (削除) (削除ここまで)}
    269 (追記) (追記ここまで)}
    263270
    264271 rc = 0;
    343350 pVolChars = pvpfsi->vpi_pVCS;
    344351
    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
    359370 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 }
    363377
    364378 pVolInfo->pfnStrategy = (STRATFUNC)pDevCaps->Strategy2;
    365379 pVolInfo->pfnPriority = (STRATFUNC)pDevCaps->ChgPriority;
    366 (削除) (削除ここまで)}
    380 (追記) (追記ここまで)}
    367381
    368382 rc = 0;
    435449 usVolCount--;
    436450 }
    437 } (削除) (削除ここまで)
    438 */
    451 } (追記) */ (追記ここまで)
    452
    439453 RemoveVolume(pVolInfo);
    440454 freeseg(pVolInfo);
    451465 Message("FS_MOUNT returned %u\n", rc);
    452466
    453(削除) //_asm int 3 (削除ここまで)
    454(削除) //_asm pop bx; (削除ここまで)
    455467 _asm pop es;
    456468
  • branches/fat32-0.10/src/ifs/ifsswap.c

    r113 r115
    1717*
    1818******************************************************************/
    19int far pascal _loadds (削除) (削除ここまで)FS_OPENPAGEFILE (
    19int far pascal _loadds (追記) (追記ここまで)FS_OPENPAGEFILE (
    2020 unsigned long far *pFlags, /* pointer to Flags */
    2121 unsigned long far *pcMaxReq, /* max # of reqs packed in list */
    4848*
    4949******************************************************************/
    50int far pascal _loadds (削除) (削除ここまで)FS_ALLOCATEPAGESPACE(
    50int far pascal _loadds (追記) (追記ここまで)FS_ALLOCATEPAGESPACE(
    5151 struct sffsi far *psffsi, /* ptr to fs independent SFT */
    5252 struct sffsd far *psffsd, /* ptr to fs dependent SFT */
    6868*
    6969******************************************************************/
    70int far pascal _loadds (削除) (削除ここまで)FS_DOPAGEIO(
    70int far pascal _loadds (追記) (追記ここまで)FS_DOPAGEIO(
    7171 struct sffsi far * psffsi, /* ptr to fs independent SFT */
    7272 struct sffsd far * psffsd, /* ptr to fs dependent SFT */
    8686*
    8787******************************************************************/
    88int far pascal _loadds (削除) (削除ここまで)FS_SETSWAP(
    88int far pascal _loadds (追記) (追記ここまで)FS_SETSWAP(
    8989 struct sffsi far * psffsi, /* psffsi */
    9090 struct sffsd far * psffsd /* psffsd */
    9191)
    9292{
    93(削除) (削除ここまで)
    9493 if (f32Parms.fMessageActive & LOG_FS)
    9594 Message("FS_SETSWAP - NOT SUPPORTED");
  • branches/fat32-0.10/src/include/fat32ifs.h

    r103 r115
    297297IMPORT BOOL RemoveFindEntry(PVOLINFO pVolInfo, PFINFO pFindInfo);
    298298IMPORT USHORT GetProcInfo(PPROCINFO pProcInfo, USHORT usSize);
    299IMPORT VOID cdecl (削除) (削除ここまで)Message(PSZ pszMessage, ...);
    299IMPORT VOID cdecl (追記) _loadds (追記ここまで)Message(PSZ pszMessage, ...);
    300300IMPORT USHORT cdecl CritMessage(PSZ pszMessage, ...);
    301301IMPORT VOID cdecl FatalMessage(PSZ pszMessage, ...);
  • branches/fat32-0.10/src/ufat32/_icc.cmd

    r111 r115
    66SET COMSPEC=D:\OS2\CMD.EXE
    77SET OS2_SHELL=D:\OS2\CMD.EXE
    8SET LANG=(削除) us (削除ここまで)
    8SET LANG=(追記) en_US (追記ここまで)
    99rem SET DDK=f:\ddk
    1010rem SET DDKTOOLS=f:\ddktools
    1616rem SET INCLUDE=..\include;%include%
    1717rem SET LIB=..\lib;%lib%
    18SET INCLUDE=..\include;%ibmc%\include;%i(削除) bmc%\INCLUDE\OS2;%i (削除ここまで)nclude%
    18SET INCLUDE=..\include;%ibmc%\include;%i(追記) (追記ここまで)nclude%
    1919SET LIB=..\lib;%ibmc%\lib;%LIB%
    20SET BEGINLIBPATH=%ibmc%\RUNTIME;%ibmc%\DLL
    21SET PATH=%ibmc%\BIN;%ibmc%\HELP;;%MASM%\BINP;%PATH%
    22SET DPATH=%ibmc%\MSG;%ibmc%\LOCALE\%LANG%;%ibmc%\HELP;%ibmc%;%DPATH%
    23SET HELP=%ibmc%\HELP;%HELP%
    20SET HELP=%CXXMAIN%\HELP;%HELP%
    21SET IPFC=%CXXMAIN%\BIN;%IPFC%
    22SET CPP_DBG_LANG=CPP
    23SET BEGINLIBPATH=%ibmc%\DLL;%ibmc%\runtime;
    24SET PATH=%ibmc%\BIN;%PATH%
    25SET DPATH=%ibmc%\HELP;%ibmc%\locale;%ibmc%\msg;%DPATH%
    26SET NLSPATHTEMP=%ibmc%\locale\%%N;%ibmc%\msg\%%N
    27SET NLSPATH=%nlspathtemp%;%nlspath%
    2428rem SET INCLUDE=%ibmc%\INCLUDE;%ibmc%\INCLUDE\OS2;%INCLUDE%
    2529rem call %IBMC%\bin\setenv.cmd
  • branches/fat32-0.10/src/ufat32/format.c

    r107 r115
    428428
    429429 //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 ); (削除ここまで)
    434430
    435431 // The filesystem recogniser in Windows XP doesn't use the partition type - in can be
    451447 //printf("003\n");
    452448 //set_vol_label (path, vol);
    449(追記) //DosSleep(3000); (追記ここまで)
    453450 //printf("004\n");
    454451 remount_media ( hDevice );
    466463 fflush(stdout);
    467464 //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 ); (追記ここまで)
    468470
    469471 return( TRUE );
  • branches/fat32-0.10/src/util/_icc.cmd

    r111 r115
    1919SET BEGINLIBPATH=%ibmc%\RUNTIME;%ibmc%\DLL
    2020SET PATH=%ibmc%\BIN;%MASM%\BINP;%PATH%
    21SET DPATH=%ibmc%\msg;%ibmc%\HELP;%ibmc%\(削除) (削除ここまで)LOCALE;%ibmc%;%DPATH%
    21SET DPATH=%ibmc%\msg;%ibmc%\HELP;%ibmc%\(追記) runtime;%ibmc%\ (追記ここまで)LOCALE;%ibmc%;%DPATH%
    2222SET NLSPATHTEMP=%ibmc%\locale\%%N
    2323SET NLSPATH=%NLSPATHTEMP%;%NLSPATH%
Note: See TracChangeset for help on using the changeset viewer.

AltStyle によって変換されたページ (->オリジナル) /