home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Spezial / SPEZIAL2_97.zip / SPEZIAL2_97.iso / ANWEND / EDITOR / NVI179B / NVI179B.ZIP / ex / ex_quit.c < prev    next >
C/C++ Source or Header  |  1996-04-27  |  903b  |  47 lines

  1. /*-
  2.  * Copyright (c) 1992, 1993, 1994
  3.  *    The Regents of the University of California.  All rights reserved.
  4.  * Copyright (c) 1992, 1993, 1994, 1995, 1996
  5.  *    Keith Bostic.  All rights reserved.
  6.  *
  7.  * See the LICENSE file for redistribution information.
  8.  */
  9.  
  10. #include "config.h"
  11.  
  12. #ifndef lint
  13. static const char sccsid[] = "@(#)ex_quit.c    10.7 (Berkeley) 4/27/96";
  14. #endif /* not lint */
  15.  
  16. #include <sys/types.h>
  17. #include <sys/queue.h>
  18.  
  19. #include <bitstring.h>
  20. #include <limits.h>
  21. #include <stdio.h>
  22.  
  23. #include "../common/common.h"
  24.  
  25. /*
  26.  * ex_quit -- :quit[!]
  27.  *    Quit.
  28.  *
  29.  * PUBLIC: int ex_quit __P((SCR *, EXCMD *));
  30.  */
  31. int
  32. ex_quit(sp, cmdp)
  33.     SCR *sp;
  34.     EXCMD *cmdp;
  35. {
  36.     int force;
  37.  
  38.     force = FL_ISSET(cmdp->iflags, E_C_FORCE);
  39.  
  40.     /* Check for file modifications, or more files to edit. */
  41.     if (file_m2(sp, force) || ex_ncheck(sp, force))
  42.         return (1);
  43.  
  44.     F_SET(sp, force ? SC_EXIT_FORCE : SC_EXIT);
  45.     return (0);
  46. }
  47.