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_yank.c,v 10.8 2001/06/25 15:19:22 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_yank -- :[line [,line]] ya[nk] [buffer] [count]
2819304Speter *	Yank the lines into a buffer.
2919304Speter *
3019304Speter * PUBLIC: int ex_yank __P((SCR *, EXCMD *));
3119304Speter */
3219304Speterint
33254225Speterex_yank(SCR *sp, EXCMD *cmdp)
3419304Speter{
3519304Speter	NEEDFILE(sp, cmdp);
3619304Speter
3719304Speter	/*
3819304Speter	 * !!!
3919304Speter	 * Historically, yanking lines in ex didn't count toward the
4019304Speter	 * number-of-lines-yanked report.
4119304Speter	 */
4219304Speter	return (cut(sp,
4319304Speter	    FL_ISSET(cmdp->iflags, E_C_BUFFER) ? &cmdp->buffer : NULL,
4419304Speter	    &cmdp->addr1, &cmdp->addr2, CUT_LINEMODE));
4519304Speter}
46