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: v_zexit.c,v 10.7 2001/06/25 15:19:37 skimo Exp $"; 1419304Speter#endif /* not lint */ 1519304Speter 1619304Speter#include <sys/types.h> 1719304Speter#include <sys/queue.h> 1819304Speter#include <sys/time.h> 1919304Speter 2019304Speter#include <bitstring.h> 2119304Speter#include <limits.h> 2219304Speter#include <stdio.h> 2319304Speter#include <string.h> 2419304Speter 2519304Speter#include "../common/common.h" 2619304Speter#include "vi.h" 2719304Speter 2819304Speter/* 2919304Speter * v_zexit -- ZZ 3019304Speter * Save the file and exit. 3119304Speter * 32281373Sbapt * PUBLIC: int v_zexit(SCR *, VICMD *); 3319304Speter */ 3419304Speterint 35254225Speterv_zexit(SCR *sp, VICMD *vp) 3619304Speter{ 3719304Speter /* Write back any modifications. */ 3819304Speter if (F_ISSET(sp->ep, F_MODIFIED) && 3919304Speter file_write(sp, NULL, NULL, NULL, FS_ALL)) 4019304Speter return (1); 4119304Speter 4219304Speter /* Check to make sure it's not a temporary file. */ 4319304Speter if (file_m3(sp, 0)) 4419304Speter return (1); 4519304Speter 4619304Speter /* Check for more files to edit. */ 4719304Speter if (ex_ncheck(sp, 0)) 4819304Speter return (1); 4919304Speter 5019304Speter F_SET(sp, SC_EXIT); 5119304Speter return (0); 5219304Speter} 53