home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / languages / c / oslib / Examples / p2-743 < prev    next >
Text File  |  1994-03-24  |  909b  |  42 lines

  1. #include "hourglass.h"
  2. #include "os.h"
  3. #include "osfile.h"
  4.  
  5. extern byte Buffer [];
  6.  
  7. extern os_error *Process_Byte (byte);
  8.  
  9. os_error *do_load_and_process (char *file_name)
  10.  
  11. {  os_error *error = NULL;
  12.    int i, size;
  13.    bool done_on = FALSE;
  14.  
  15.    if ((error = xosfile_load_stamped (file_name, Buffer, NULL, NULL, NULL,
  16.          &size, NULL)) != NULL)
  17.       goto finish; /*note that osfile_load loads a file at its load address*/
  18.  
  19.    if (size != 0)
  20.    {  if ((error = xhourglass_on ()) != NULL)
  21.          goto finish;
  22.       done_on = TRUE;
  23.  
  24.       for (i = 0; i < size; i++)
  25.       {  if ((error = xhourglass_percentage (100*i/size)) != NULL)
  26.             goto finish;
  27.  
  28.          if ((error = Process_Byte (Buffer [i])) != NULL)
  29.             goto finish;
  30.    }  }
  31.  
  32. finish:
  33.    if (done_on)
  34.    {  os_error *error1;
  35.       
  36.       error1 = xhourglass_off ();
  37.       if (error == NULL) error = error1;
  38.    }
  39.  
  40.    return error;
  41. }
  42.