ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/extfs.cpp
(Generate patch)

Comparing BasiliskII/src/extfs.cpp (file contents):
Revision 1.20 by cebix, 2000-07-21T18:01:05Z vs.
Revision 1.21 by cebix, 2000-07-22T16:07:16Z

# Line 108 | Line 108 | static bool ready = false;
108   static struct stat root_stat;
109  
110   // File system ID/media type
111 < const int16 MY_FSID = 'ba';
112 < const uint32 MY_MEDIA_TYPE = 'basi';
111 > const int16 MY_FSID = 0x6261;   // 'ba'
112 > const uint32 MY_MEDIA_TYPE = FOURCC('b','a','s','i');
113  
114   // CNID of root and root's parent
115   const uint32 ROOT_ID = 2;
# Line 277 | Line 277 | static void cstr2pstr(char *dst, const c
277          }
278   }
279  
280 // Convert pascal string to C string
281 static void pstr2cstr(char *dst, const char *src)
282 {
283        int size = *src++;
284        while (size--) {
285                char c = *src++;
286                // Note: we are converting Mac '/' characters to host ':' characters here
287                // '/' is not a path separator as this function is only used on object names
288                if (c == '/')
289                        c = ':';
290                *dst++ = c;
291        }
292        *dst = 0;
293 }
294
280   // Convert string (no length byte) to C string, length given separately
281   static void strn2cstr(char *dst, const char *src, int size)
282   {
# Line 423 | Line 408 | void InstallExtFS(void)
408          // FSM present?
409          r.d[0] = gestaltFSAttr;
410          Execute68kTrap(0xa1ad, &r);     // Gestalt()
411 <        D(bug("FSAttr %ld, %08lx\n", r.d[0], r.a[0]));
411 >        D(bug("FSAttr %d, %08x\n", r.d[0], r.a[0]));
412          if ((r.d[0] & 0xffff) || !(r.a[0] & (1 << gestaltHasFileSystemManager))) {
413                  printf("WARNING: No FSM present, disabling ExtFS\n");
414                  return;
# Line 432 | Line 417 | void InstallExtFS(void)
417          // Yes, version >=1.2?
418          r.d[0] = gestaltFSMVersion;
419          Execute68kTrap(0xa1ad, &r);     // Gestalt()
420 <        D(bug("FSMVersion %ld, %08lx\n", r.d[0], r.a[0]));
420 >        D(bug("FSMVersion %d, %08x\n", r.d[0], r.a[0]));
421          if ((r.d[0] & 0xffff) || (r.a[0] < 0x0120)) {
422                  printf("WARNING: FSM <1.2 found, disabling ExtFS\n");
423                  return;
# Line 702 | Line 687 | int16 ExtFSComm(uint16 message, uint32 p
687                  }
688  
689                  case ffsIDDiskMessage: {                // Check if volume is handled by our FS
690 <                        if (ReadMacInt16(paramBlock + ioVRefNum) == drive_number)
690 >                        if ((int16)ReadMacInt16(paramBlock + ioVRefNum) == drive_number)
691                                  return noErr;
692                          else
693                                  return extFSErr;
# Line 966 | Line 951 | static uint32 find_fcb(int16 refNum)
951   static int16 fs_mount_vol(uint32 pb)
952   {
953          D(bug(" fs_mount_vol(%08lx), vRefNum %d\n", pb, ReadMacInt16(pb + ioVRefNum)));
954 <        if (ReadMacInt16(pb + ioVRefNum) == drive_number)
954 >        if ((int16)ReadMacInt16(pb + ioVRefNum) == drive_number)
955                  return noErr;
956          else
957                  return extFSErr;
# Line 1584 | Line 1569 | static int16 fs_get_fcb_info(uint32 pb,
1569  
1570                  // Find FCB by index
1571                  WriteMacInt16(pb + ioRefNum, 0);
1572 <                for (int i=0; i<ReadMacInt16(pb + ioFCBIndx); i++) {
1572 >                for (int i=0; i<(int)ReadMacInt16(pb + ioFCBIndx); i++) {
1573                          D(bug("  indexing FCBs\n"));
1574                          r.a[0] = vcb;
1575                          r.a[1] = pb + ioRefNum;
# Line 1803 | Line 1788 | static int16 fs_read(uint32 pb)
1788          uint32 pos = lseek(fd, 0, SEEK_CUR);
1789          WriteMacInt32(fcb + fcbCrPs, pos);
1790          WriteMacInt32(pb + ioPosOffset, pos);
1791 <        if (actual != ReadMacInt32(pb + ioReqCount))
1791 >        if (actual != (ssize_t)ReadMacInt32(pb + ioReqCount))
1792                  return actual < 0 ? read_err : eofErr;
1793          else
1794                  return noErr;
# Line 1856 | Line 1841 | static int16 fs_write(uint32 pb)
1841          uint32 pos = lseek(fd, 0, SEEK_CUR);
1842          WriteMacInt32(fcb + fcbCrPs, pos);
1843          WriteMacInt32(pb + ioPosOffset, pos);
1844 <        if (actual != ReadMacInt32(pb + ioReqCount))
1844 >        if (actual != (ssize_t)ReadMacInt32(pb + ioReqCount))
1845                  return write_err;
1846          else
1847                  return noErr;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines