• 大小: 53.4MB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2023-05-01
  • 语言: 数据库
  • 标签: 数据库  

资源简介

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 

评论

共有 条评论