119304Speter/*-
219304Speter * Copyright (c) 1992, 1993, 1994
319304Speter *	The Regents of the University of California.  All rights reserved.
419304Speter * Copyright (c) 1992, 1993, 1994, 1995, 1996
519304Speter *	Keith Bostic.  All rights reserved.
619304Speter *
719304Speter * See the LICENSE file for redistribution information.
819304Speter */
919304Speter
1019304Speter#include "config.h"
1119304Speter
1219304Speter#ifndef lint
13254225Speterstatic const char sccsid[] = "$Id: ex_quit.c,v 10.8 2001/06/25 15:19:18 skimo Exp $";
1419304Speter#endif /* not lint */
1519304Speter
1619304Speter#include <sys/types.h>
1719304Speter#include <sys/queue.h>
18254225Speter#include <sys/time.h>
1919304Speter
2019304Speter#include <bitstring.h>
2119304Speter#include <limits.h>
2219304Speter#include <stdio.h>
2319304Speter
2419304Speter#include "../common/common.h"
2519304Speter
2619304Speter/*
2719304Speter * ex_quit -- :quit[!]
2819304Speter *	Quit.
2919304Speter *
3019304Speter * PUBLIC: int ex_quit __P((SCR *, EXCMD *));
3119304Speter */
3219304Speterint
33254225Speterex_quit(SCR *sp, EXCMD *cmdp)
3419304Speter{
3519304Speter	int force;
3619304Speter
3719304Speter	force = FL_ISSET(cmdp->iflags, E_C_FORCE);
3819304Speter
3919304Speter	/* Check for file modifications, or more files to edit. */
4019304Speter	if (file_m2(sp, force) || ex_ncheck(sp, force))
4119304Speter		return (1);
4219304Speter
4319304Speter	F_SET(sp, force ? SC_EXIT_FORCE : SC_EXIT);
4419304Speter	return (0);
4519304Speter}
46