home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / MISC / SQDEV200.ZIP / SRC / FLUSH.C < prev    next >
C/C++ Source or Header  |  1994-05-23  |  3KB  |  76 lines

  1. /***************************************************************************
  2.  *                                                                         *
  3.  *  Squish Developers Kit Source, Version 2.00                             *
  4.  *  Copyright 1989-1994 by SCI Communications.  All rights reserved.       *
  5.  *                                                                         *
  6.  *  USE OF THIS FILE IS SUBJECT TO THE RESTRICTIONS CONTAINED IN THE       *
  7.  *  SQUISH DEVELOPERS KIT LICENSING AGREEMENT IN SQDEV.PRN.  IF YOU DO NOT *
  8.  *  FIND THE TEXT OF THIS AGREEMENT IN THE AFOREMENTIONED FILE, OR IF YOU  *
  9.  *  DO NOT HAVE THIS FILE, YOU SHOULD IMMEDIATELY CONTACT THE AUTHOR AT    *
  10.  *  ONE OF THE ADDRESSES LISTED BELOW.  IN NO EVENT SHOULD YOU PROCEED TO  *
  11.  *  USE THIS FILE WITHOUT HAVING ACCEPTED THE TERMS OF THE SQUISH          *
  12.  *  DEVELOPERS KIT LICENSING AGREEMENT, OR SUCH OTHER AGREEMENT AS YOU ARE *
  13.  *  ABLE TO REACH WITH THE AUTHOR.                                         *
  14.  *                                                                         *
  15.  *  You can contact the author at one of the address listed below:         *
  16.  *                                                                         *
  17.  *  Scott Dudley       FidoNet     1:249/106                               *
  18.  *  777 Downing St.    Internet    sjd@f106.n249.z1.fidonet.org            *
  19.  *  Kingston, Ont.     CompuServe  >INTERNET:sjd@f106.n249.z1.fidonet.org  *
  20.  *  Canada  K7M 5N3    BBS         1-613-634-3058, V.32bis                 *
  21.  *                                                                         *
  22.  ***************************************************************************/
  23.  
  24. #include <io.h>
  25. #include <dos.h>
  26. #include "prog.h"
  27.  
  28. #if defined(OS_2)
  29.  
  30.   #define INCL_NOPM
  31.   #define INCL_DOS
  32.   #include "pos2.h"
  33.  
  34.   void pascal far flush_handle2( int fh )
  35.   {
  36.   #ifdef __FLAT__
  37.     DosResetBuffer((HFILE)fh);
  38.   #else
  39.     DosBufReset((HFILE)fh);
  40.   #endif
  41.   }
  42.  
  43. #elif defined(NT)
  44.   #include "pwin.h"
  45.  
  46.   void pascal far flush_handle2( int fh )
  47.   {
  48.     FlushFileBuffers((HANDLE)fh);
  49.   }
  50.  
  51. #elif !defined(__MSDOS__)  /* dos version defined in .asm file */
  52.   #error Unknown OS
  53. #endif
  54.  
  55.  
  56. /* This makes sure that a file gets flushed to disk. */
  57.  
  58. void _fast flush_handle(FILE *fp)
  59. {
  60.  
  61.   fflush(fp);
  62.  
  63. #if defined(OS_2) || defined(NT) || defined(MSDOS) || defined(__MSDOS__) || defined(__TURBOC__)
  64.   flush_handle2(fileno(fp));
  65. #else
  66.   {
  67.     int nfd;
  68.  
  69.     if ((nfd=dup(fileno(fp))) != -1)
  70.       close(nfd);
  71.   }
  72. #endif
  73. }
  74.  
  75.  
  76.