資源簡介
MariaDB是一個增強的MySQL替代品,并且在GPL v2許可證下可用。它主要是由MariaDB community開發的,由MariaDB Foundation主管。
代碼片段和文件信息
/* $NetBSD:?chared.cv?1.36?2011/10/23?17:37:55?christos?Exp?$ */
/*-
?*?Copyright?(c)?1992?1993
?* The?Regents?of?the?University?of?California.??All?rights?reserved.
?*
?*?This?code?is?derived?from?software?contributed?to?Berkeley?by
?*?Christos?Zoulas?of?Cornell?University.
?*
?*?Redistribution?and?use?in?source?and?binary?forms?with?or?without
?*?modification?are?permitted?provided?that?the?following?conditions
?*?are?met:
?*?1.?Redistributions?of?source?code?must?retain?the?above?copyright
?*????notice?this?list?of?conditions?and?the?following?disclaimer.
?*?2.?Redistributions?in?binary?form?must?reproduce?the?above?copyright
?*????notice?this?list?of?conditions?and?the?following?disclaimer?in?the
?*????documentation?and/or?other?materials?provided?with?the?distribution.
?*?3.?Neither?the?name?of?the?University?nor?the?names?of?its?contributors
?*????may?be?used?to?endorse?or?promote?products?derived?from?this?software
?*????without?specific?prior?written?permission.
?*
?*?THIS?SOFTWARE?IS?PROVIDED?BY?THE?REGENTS?AND?CONTRIBUTORS?‘‘AS?IS‘‘?AND
?*?ANY?EXPRESS?OR?IMPLIED?WARRANTIES?INCLUDING?BUT?NOT?LIMITED?TO?THE
?*?IMPLIED?WARRANTIES?OF?MERCHANTABILITY?AND?FITNESS?FOR?A?PARTICULAR?PURPOSE
?*?ARE?DISCLAIMED.??IN?NO?EVENT?SHALL?THE?REGENTS?OR?CONTRIBUTORS?BE?LIABLE
?*?FOR?ANY?DIRECT?INDIRECT?INCIDENTAL?SPECIAL?EXEMPLARY?OR?CONSEQUENTIAL
?*?DAMAGES?(INCLUDING?BUT?NOT?LIMITED?TO?PROCUREMENT?OF?SUBSTITUTE?GOODS
?*?OR?SERVICES;?LOSS?OF?USE?DATA?OR?PROFITS;?OR?BUSINESS?INTERRUPTION)
?*?HOWEVER?CAUSED?AND?ON?ANY?THEORY?OF?LIABILITY?WHETHER?IN?CONTRACT?STRICT
?*?LIABILITY?OR?TORT?(INCLUDING?NEGLIGENCE?OR?OTHERWISE)?ARISING?IN?ANY?WAY
?*?OUT?OF?THE?USE?OF?THIS?SOFTWARE?EVEN?IF?ADVISED?OF?THE?POSSIBILITY?OF
?*?SUCH?DAMAGE.
?*/
#include?“config.h“
#if?!defined(lint)?&&?!defined(SCCSID)
#if?0
static?char?sccsid[]?=?“@(#)chared.c 8.1?(Berkeley)?6/4/93“;
#else
#endif
#endif?/*?not?lint?&&?not?SCCSID?*/
/*
?*?chared.c:?Character?editor?utilities
?*/
#include?
#include?“el.h“
private?void?ch__clearmacro?(EditLine?*);
/*?value?to?leave?unused?in?line?buffer?*/
#define EL_LEAVE 2
/*?cv_undo():
?* Handle?state?for?the?vi?undo?command
?*/
protected?void
cv_undo(EditLine?*el)
{
c_undo_t?*vu?=?&el->el_chared.c_undo;
c_redo_t?*r?=?&el->el_chared.c_redo;
size_t?size;
/*?Save?entire?line?for?undo?*/
size?=?(size_t)(el->el_line.lastchar?-?el->el_line.buffer);
vu->len?=?(ssize_t)size;
vu->cursor?=?(int)(el->el_line.cursor?-?el->el_line.buffer);
(void)memcpy(vu->buf?el->el_line.buffer?size?*?sizeof(*vu->buf));
/*?save?command?info?for?redo?*/
r->count?=?el->el_state.doingarg???el->el_state.argument?:?0;
r->action?=?el->el_chared.c_vcmd.action;
r->pos?=?r->buf;
r->cmd?=?el->el_state.thiscmd;
r->ch?=?el->el_state.thisch;
}
/*?cv_yank():
?* Save?yank/delete?data?for?paste
?*/
protected?void
cv_yank(EditLine?*el?const?Char?*ptr?int?size)
{
c_kill_t?*k?=?&el->el_chared.c_kill;
(void)memcpy(k->buf?ptr?(size_t)size?
評論
共有 條評論