Changeset 21916 for trunk/src/winmm/mcicda/cdrom.cpp
- Timestamp:
- Dec 18, 2011, 10:28:22 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:ignore
-
old new 1 bin 2 Makefile.inc 1 env.cmd 2 LocalConfig.kmk
-
-
Property svn:mergeinfo
set to
/branches/gcc-kmk merged eligible
- Property svn:ignore
-
trunk/src/winmm/mcicda/cdrom.cpp
r5005 r21916 15 15 #include <string.h> 16 16 17 /* 17 /* 18 18 * FIXME: Should use the right errorcodes for SetLastError if a function fails. 19 19 */ … … 32 32 if(strlen(wcda->chrDrive)==2) { 33 33 if((wcda->hfOS2Handle=os2CDOpen(wcda->chrDrive))==NULL) { 34 SetLastError(ERROR_WRONG_DISK); 34 SetLastError(ERROR_WRONG_DISK); 35 35 /* We always return TRUE because we want to open the driver not the disk */ 36 36 } … … 38 38 } 39 39 40 if(!str cmpi(wcda->chrDeviceType,"cdaudio")) {40 if(!stricmp(wcda->chrDeviceType,"cdaudio")) { 41 41 /* We try any CDROM in the system until one can be opened */ 42 42 if(!os2CDQueryCDDrives(&iNumCD, chrFirstCD)) { 43 SetLastError(ERROR_WRONG_DISK); 43 SetLastError(ERROR_WRONG_DISK); 44 44 return FALSE;/* Can't get drives in system */ 45 45 } 46 46 47 47 chrFirstCD[1]=':'; 48 48 for(i=0;i<iNumCD;i++) { 49 49 chrFirstCD[0]++; 50 if((wcda->hfOS2Handle=os2CDOpen(chrFirstCD))!=NULL) { 50 if((wcda->hfOS2Handle=os2CDOpen(chrFirstCD))!=NULL) { 51 51 return TRUE; 52 52 } 53 53 } 54 54 SetLastError(ERROR_WRONG_DISK); 55 /* We always return TRUE because we want to open the driver not the disk */ 56 /* Can't open CD */ 55 /* We always return TRUE because we want to open the driver not the disk */ 56 /* Can't open CD */ 57 57 } 58 58 /* We always return TRUE because we want to open the driver not the disk */ … … 63 63 { 64 64 ULONG rc; 65 65 66 66 dprintf(("MCICDA-CDROM: CDAUDIO_Close: Closing drive: %s...\n",wcda->chrDrive)); 67 67 68 68 if(wcda->hfOS2Handle==NULL) { 69 69 SetLastError(ERROR_INVALID_PARAMETER); 70 70 return FALSE; 71 71 } 72 72 73 73 if((rc=os2CDClose(wcda->hfOS2Handle))!=0) { 74 74 dprintf(("MCICDA-CDROM: CDAUDIO_Close:rc=%d \n",rc)); … … 160 160 } 161 161 } 162 162 163 163 os2CDSeek(wcda->hfOS2Handle, at); 164 164 return 0; … … 177 177 } 178 178 } 179 179 180 180 CDAUDIO_Stop(wcda); 181 181 if(open) { … … 190 190 191 191 /******************************************/ 192 /* Result: 192 /* Result: 193 193 0: Error 194 194 -1: CD is Data Disk … … 215 215 return -1; 216 216 case 0: 217 SetLastError(ERROR_WRONG_DISK); 217 SetLastError(ERROR_WRONG_DISK); 218 218 return 1; 219 219 default: … … 243 243 } 244 244 } 245 245 246 246 if (wcda->nTracks == 0) { 247 247 if (CDAUDIO_GetNumberOfTracks(wcda) <= 0) 248 248 return FALSE; 249 249 } 250 250 251 251 TRACE("nTracks=%u\n", wcda->nTracks); 252 252 253 253 SetLastError(ERROR_INVALID_PARAMETER); 254 255 if (wcda->lpdwTrackLen != NULL) 254 255 if (wcda->lpdwTrackLen != NULL) 256 256 free(wcda->lpdwTrackLen); 257 257 wcda->lpdwTrackLen = (LPDWORD)malloc((wcda->nTracks + 1) * sizeof(DWORD)); 258 if (wcda->lpdwTrackPos != NULL) 258 if (wcda->lpdwTrackPos != NULL) 259 259 free(wcda->lpdwTrackPos); 260 260 wcda->lpdwTrackPos = (LPDWORD)malloc((wcda->nTracks + 1) * sizeof(DWORD)); … … 262 262 free(wcda->lpbTrackFlags); 263 263 wcda->lpbTrackFlags = (LPBYTE)malloc((wcda->nTracks + 1) * sizeof(BYTE)); 264 264 265 265 if (wcda->lpdwTrackLen == NULL || wcda->lpdwTrackPos == NULL || 266 266 wcda->lpbTrackFlags == NULL) { 267 267 WARN("error allocating track table !\n"); 268 268 /* Freeing the already allocated mem */ 269 if (wcda->lpdwTrackLen != NULL) 269 if (wcda->lpdwTrackLen != NULL) 270 270 free(wcda->lpdwTrackLen); 271 if (wcda->lpdwTrackPos != NULL) 271 if (wcda->lpdwTrackPos != NULL) 272 272 free(wcda->lpdwTrackPos); 273 273 if (wcda->lpbTrackFlags != NULL) … … 281 281 memset(wcda->lpdwTrackPos, 0, (wcda->nTracks + 1) * sizeof(DWORD)); 282 282 memset(wcda->lpbTrackFlags, 0, (wcda->nTracks + 1) * sizeof(BYTE)); 283 283 284 284 for (i = 0; i <= wcda->nTracks; i++) { 285 285 if((start=os2CDQueryTrackStartSector(wcda->hfOS2Handle,i,&flAudioTrack))==0) … … 287 287 WARN("error reading start sector for track %d\n", i+1); 288 288 /* Freeing the already allocated mem */ 289 if (wcda->lpdwTrackLen != NULL) 289 if (wcda->lpdwTrackLen != NULL) 290 290 free(wcda->lpdwTrackLen); 291 if (wcda->lpdwTrackPos != NULL) 291 if (wcda->lpdwTrackPos != NULL) 292 292 free(wcda->lpdwTrackPos); 293 293 if (wcda->lpbTrackFlags != NULL) … … 299 299 } 300 300 start-=150; 301 301 302 302 if (i == 0) { 303 303 last_start = start; … … 315 315 //if(wcda->ulCDROMStatus & ) 316 316 if (!flAudioTrack) 317 wcda->lpbTrackFlags[i] = CDROM_DATA_TRACK; 317 wcda->lpbTrackFlags[i] = CDROM_DATA_TRACK; 318 318 else 319 319 wcda->lpbTrackFlags[i] = 0; 320 320 //TRACE("track #%u flags=%02x\n", i + 1, wcda->lpbTrackFlags[i]); 321 321 }/* for */ 322 322 323 323 wcda->dwLastFrame = last_start; 324 324 TRACE("total_len=%u Leaving CDAUDIO_GetTracksInfo...\n", total_length); 325 325 326 326 return TRUE; 327 327 } … … 346 346 return FALSE; 347 347 } 348 /* Current mode */ 348 /* Current mode */ 349 349 //wcda->cdaMode=WINE_CDA_STOP; 350 350 if(wcda->ulCDROMStatus & 0x1L) … … 385 385 if (wcda->cdaMode != WINE_CDA_OPEN) 386 386 return TRUE; 387 else 387 else 388 388 return FALSE; 389 389 }
Note:
See TracChangeset
for help on using the changeset viewer.