home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / XGRP_000.SZH / SDRIVE.C < prev    next >
C/C++ Source or Header  |  1991-06-09  |  766b  |  48 lines

  1. #define INCL_DOS
  2. #ifdef TSC
  3.   #include <os2kernl.h>
  4. #else
  5.   #include <os2.h>
  6. #endif
  7. #include <ctype.h>
  8. #include "nofast.h"
  9.  
  10. typedef unsigned int word;
  11.  
  12. /* global vars created here */
  13.  
  14. char curdir[1027];
  15. word curdirlen;
  16. word curdrive;
  17. long drivemap;
  18.  
  19.  
  20.  
  21.  
  22. int _fastcall switch_to (char *dir) {
  23.  
  24.     int ret = 0;
  25.  
  26.  
  27.     ret += DosQCurDisk(&curdrive,&drivemap);
  28.     curdirlen = sizeof(curdir);
  29.     ret += DosQCurDir(curdrive,curdir,&curdirlen);
  30.     if(isalpha(*dir) && dir[1] == ':') {
  31.         ret += DosSelectDisk((word)*dir);
  32.     }
  33.     ret += DosChDir(dir,0L);
  34.     return ret;
  35. }
  36.  
  37.  
  38.  
  39. int _fastcall switch_back (void) {
  40.  
  41.     int ret = 0;
  42.  
  43.  
  44.     ret += DosSelectDisk(curdrive);
  45.     ret += DosChDir(curdir,0L);
  46.     return ret;
  47. }
  48.