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

Comparing BasiliskII/src/MacOSX/sys_darwin.cpp (file contents):
Revision 1.11 by asvitkine, 2007-01-21T18:06:39Z vs.
Revision 1.14 by nigel, 2008-02-04T01:02:58Z

# Line 7 | Line 7
7   *
8   *      Based on Apple's CDROMSample.c and Evan Jones' cd-discid.c patches
9   *
10 < *  Basilisk II (C) 1997-2005 Christian Bauer
10 > *  Basilisk II (C) 1997-2008 Christian Bauer
11   *
12   *  This program is free software; you can redistribute it and/or modify
13   *  it under the terms of the GNU General Public License as published by
# Line 115 | Line 115 | static kern_return_t get_device_path(io_
115   static void media_arrived(int type, io_iterator_t iterator)
116   {
117          io_object_t obj;
118 <        while ((obj = IOIteratorNext(iterator)) != NULL) {
118 >        while ((obj = IOIteratorNext(iterator))) {
119                  char path[MAXPATHLEN];
120                  kern_return_t kernResult = get_device_path(obj, path, sizeof(path));
121                  if (kernResult == KERN_SUCCESS) {
# Line 137 | Line 137 | static void media_arrived(int type, io_i
137   static void media_removed(int type, io_iterator_t iterator)
138   {
139          io_object_t obj;
140 <        while ((obj = IOIteratorNext(iterator)) != NULL) {
140 >        while ((obj = IOIteratorNext(iterator))) {
141                  char path[MAXPATHLEN];
142                  kern_return_t kernResult = get_device_path(obj, path, sizeof(path));
143                  if (kernResult == KERN_SUCCESS) {
# Line 236 | Line 236 | void DarwinAddFloppyPrefs(void)
236                  return;
237          }
238  
239
239          // Iterate through each floppy
240          while ( nextFloppy = IOIteratorNext(allFloppies))
241          {
242                  char            bsdPath[MAXPATHLEN];
244                CFTypeRef       bsdPathAsCFString =
245                                                IORegistryEntryCreateCFProperty(nextFloppy,
246                                                                                                                CFSTR(kIOBSDNameKey),
247                                                                                                                kCFAllocatorDefault, 0);
243                  long            size;
244                  CFTypeRef       sizeAsCFNumber =
245                                                  IORegistryEntryCreateCFProperty(nextFloppy,
# Line 266 | Line 261 | void DarwinAddFloppyPrefs(void)
261                          continue; // if kIOMediaSizeKey is unavailable, we shouldn't use it anyway
262                  }
263  
264 <                *bsdPath = '\0';
265 <                if ( bsdPathAsCFString )
266 <                {
267 <                        size_t devPathLength;
273 <
274 <                        strcpy(bsdPath, "/dev/");
275 <                        devPathLength = strlen(bsdPath);
276 <
277 <                        if ( CFStringGetCString((const __CFString *)bsdPathAsCFString,
278 <                                                                         bsdPath + devPathLength,
279 <                                                                         MAXPATHLEN - devPathLength,
280 <                                                                         kCFStringEncodingASCII) )
281 <                        {
282 <                                D(bug("Floppy BSD path: %s\n", bsdPath));
283 <                                PrefsAddString("floppy", bsdPath);
284 <                        }
285 <                        else
286 <                                D(bug("Could not get BSD device path for floppy\n"));
287 <
288 <                        CFRelease(bsdPathAsCFString);
264 >                if (get_device_path(nextFloppy, bsdPath, sizeof(bsdPath)) == KERN_SUCCESS) {
265 >                        PrefsAddString("floppy", bsdPath);
266 >                } else {
267 >                        D(bug("Could not get BSD device path for floppy\n"));
268                  }
290                else
291                        D(bug("Cannot determine bsdPath for floppy\n"));
269          }
270  
271          IOObjectRelease(nextFloppy);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines