home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a013 / 1.ddi / SOURCE.EXE / F_DSKTST.PRG < prev    next >
Encoding:
Text File  |  1991-01-25  |  1.0 KB  |  45 lines

  1. *****************************************************************
  2. FUNCTION DISKTEST (drive)
  3. *****************************************************************
  4.  
  5. * Tests a disk drive for validity (or readiness)
  6.  
  7. * Copyright(c) 1991 -- James Occhiogrosso
  8.  
  9. * Activate interrupt 24 handler and initialize local variables
  10. LOCAL old_int24 := SETINT24(.T.), ;
  11.       ret_value := 0, temp_file := ' '
  12.  
  13.  
  14. * Make sure drive letter was passed
  15. IF VALTYPE(drive) != 'C'
  16.     RETURN(-1)
  17. ENDIF
  18.  
  19. * Get first character of passed drive and add a colon
  20. drive = SUBSTR(drive,1,1) + ':'
  21.  
  22. * Try to create a unique file on selected drive
  23. temp_file = TEMPFILE('', drive)
  24.  
  25. IF EMPTY(temp_file)
  26.  
  27.     * Attempt failed, return INT24 error code
  28.     ret_value = GETINT24()
  29.  
  30.     * If GETINT24 returns zero, disk drive is invalid
  31.     ret_value = IF(ret_value = 0, -1, ret_value)
  32.  
  33. ELSE
  34.     * Attempt succeeded, erase temporary file
  35.     ERASE (temp_file)
  36. ENDIF
  37.  
  38. * Reset the interrupt 24 handler to entry condition
  39. SETINT24(old_int24)
  40.  
  41. RETURN ret_value
  42.  
  43.  
  44.  
  45.