亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? prmt5.c

?? 使用BorlandC++4.5編譯的一個MUD客戶端程序
?? C
字號:
head	2.1;access;symbols;locks; strict;comment	@ * @;2.1date	95.10.24.15.46.14;	author tsurace;	state Release;branches;next	1.1;1.1date	95.10.12.19.39.37;	author tsurace;	state Beta;branches;next	;desc@Primitives - regexp, files, environment@2.1log@Roll.@text@/* prmt5.c: Primitive functions: regexps, environment */
/* $Id: prmt5.c 1.1 1995/10/12 19:39:37 tsurace Beta tsurace $ */

#include "vt.h"
#include "prmt.h"

#ifdef __WIN32__
# include <stdio.h>
# define popen _popen
# define pclose _pclose
#endif

extern Unode file_ring;
extern Istr freader;

/* File primitives */

PDECL(pr_fopen)
{
	FILE *fp;
	Unode *un;

	Tcheck2(F_SPTR, F_SPTR);
	fp = fopen(expand(Soastr(Dp1)), Soastr(Dp2));
	if (fp) {
		un = unalloc();
		un->Fname = vtstrdup(Soastr(Dp1));
		un->Ftype = FT_FILE;
		un->Ffp = fp;
		un->prev = file_ring.prev;
		un->next = &file_ring;
		file_ring.prev = file_ring.prev->next = un;
		Dset_elem(*rf, F_FILE, Dunode, un);
	}
	Set_err_null(NULL);
}

PDECL(pr_popen)
{
	FILE *fp;
	Unode *un;

	Tcheck2(F_SPTR, F_SPTR);
	fp = popen(Soastr(Dp1), Soastr(Dp2));
	if (fp) {
		un = unalloc();
		un->Fname = vtstrdup(Soastr(Dp1));
		un->Ftype = FT_PROC;
		un->Ffp = fp;
		un->prev = file_ring.prev;
		un->next = &file_ring;
		file_ring.prev = file_ring.prev->next = un;
		Dset_elem(*rf, F_FILE, Dunode, un);
	}
	Set_err_null(NULL);
}

PDECL(pr_fclose)
{
	Tcheck1(F_FILE);
	Discardstring(Un->Fname);
	Dset_int(*rf, (Un->Ftype == FT_FILE) ? fclose(Un->Ffp)
					     : pclose(Un->Ffp));
	Set_err_neg(NULL);
	Un->prev->next = Un->next;
	Un->next->prev = Un->prev;
	destroy_pointers(Un->frefs);
	discard_unode(Un);
}

PDECL(pr_fwrite)
{
	Tcheck2(F_FILE, F_SPTR);
	Dset_int(*rf, Sinbounds(Dp2) ? fwrite(Sastr(Dp2), 1, Dp2.Slen
					      - Dp2.Dspos, Un1->Ffp) : 0);
	Set_err_neg(NULL);
}

PDECL(pr_fread)
{
	Tcheck1(F_FILE);
	isolate(&freader);
	if (s_fget(&freader.rs->str, Un->Ffp))
		Dset_sptr(*rf, istr_rs(freader.rs), 0);
	Set_err_null(NULL);
}

PDECL(pr_fseek)
{
	Tcheck3(F_FILE, F_INT, F_INT);
	Dset_int(*rf, fseek(Un1->Ffp, Int2, Int3));
	Set_err_neg(NULL);
}

PDECL(pr_ftell)
{
	Tcheck1(F_FILE);
	Dset_int(*rf, ftell(Un->Ffp));
	Set_err_neg(NULL);
}

PDECL(pr_fputc)
{
	Tcheck2(F_INT, F_FILE);
	Dset_int(*rf, putc(Int1, Un2->Ffp));
	Set_err_neg(NULL);
}

PDECL(pr_fgetc)
{
	Tcheck1(F_FILE);
	Dset_int(*rf, getc(Un->Ffp));
	Set_err_neg(NULL);
}

PDECL(pr_fflush)
{
	Tcheck1(F_FILE);
	fflush(Un->Ffp);
}

PDECL(pr_feof)
{
	Tcheck1(F_FILE);
	Dset_int(*rf, feof(Un->Ffp));
}

PDECL(pr_fsize)
{
	struct stat buf;

	Tcheck1(F_SPTR);
	Dset_int(*rf, (stat(Soastr(Dp), &buf) == -1) ? -1 : buf.st_size);
	Set_err_neg(NULL);
}

PDECL(pr_fmtime)
{
	struct stat buf;

	Tcheck1(F_SPTR);
	Dset_int(*rf, (stat(Soastr(Dp), &buf) == -1) ? -1 : buf.st_mtime);
	Set_err_neg(NULL);
}

PDECL(pr_unlink)
{
	Tcheck1(F_SPTR);
	Dset_int(*rf, unlink(Soastr(Dp)));
	Set_err_neg(NULL);
}

PDECL(pr_load_file)
{
	Tcheck1(F_SPTR);
	Dset_int(*rf, load_file(Soastr(Dp)));
	Set_err_neg(NULL);
}

PDECL(pr_find_file)
{
	Unode *f;

	Tcheck1(F_SPTR);
	for (f = file_ring.next; !f->dummy; f = f->next) {
		if (streq(f->Fname, Soastr(Dp)))
			break;
	}
	if (f->dummy)
		return;
	Dset_elem(*rf, F_FILE, Dunode, f);
}

PDECL(pr_file_name)
{
	Tcheck1(F_FILE);
	Dset_sptr(*rf, istr_s(Un->Fname), 0);
}

/* Regexp primitives */

PDECL(pr_regcomp)
{
	regexp *reg;

	Tcheck1(F_SPTR);
	reg = regcomp(Soastr(Dp));
	if (reg) {
		reg->refs = 0;
		reg->rs = NULL;
		Dset_elem(*rf, F_REG, Dreg, reg);
	}
	vtc_errflag = (rf->type == F_NULL);
}

PDECL(pr_regexec)
{
	regexp *reg = Dp1.Dreg;

	Tcheck2(F_REG, F_SPTR);
	Dset_int(*rf, regexec(reg, Soastr(Dp2)));
	if (reg->rs)
		dec_ref_rstr(reg->rs);
	if (rf->Dval) {
		reg->rs = Dp2.Distr->rs;
		reg->rs->refs++;
	} else
		reg->rs = NULL;
}

PDECL(pr_regmatch)
{
	regexp *r = Dp1.Dreg;
	int n = Int2;

	Tcheck2(F_REG, F_INT);
	if (n < 0 || n > NSUBEXP || !r->rs || !r->startp[n])
		return;
	Dset_sptr(*rf, istr_sl(r->startp[n], r->endp[n] - r->startp[n]), 0);
}

/* Environment primitives */

PDECL(pr_getenv)
{
	char *env;

	Tcheck1(F_SPTR);
	env = getenv(Soastr(Dp));
	if (env)
		Dset_sptr(*rf, istr_s(env), 0);
	Set_err_null(NULL);
}

PDECL(pr_system)
{
	Tcheck1(F_SPTR);
	tty_mode(0);
	Dset_int(*rf, system(Soastr(Dp)));
	tty_mode(1);
}

PDECL(pr_ctime)
{
	Tcheck1(F_INT);
	Dset_sptr(*rf, istr_s(ctime(&Int)), 0);
}

PDECL(pr_smatch)
{
	Tcheck2(F_SPTR, F_SPTR);
	Dset_int(*rf, smatch(Soastr(Dp1), Soastr(Dp2)));
}


@1.1log@Initial revision@text@d2 1a2 1/* $Id$ */@

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区视频| 久久精品国产一区二区| 2021国产精品久久精品| 在线视频你懂得一区二区三区| 国产精品自在欧美一区| 蜜臀久久久久久久| 久久91精品久久久久久秒播| 久久精品国产澳门| 国产一区二区福利| 成人免费高清视频在线观看| 99精品一区二区| 波多野结衣中文一区| 高清成人在线观看| 色就色 综合激情| 欧美日韩成人综合| 欧美一区二区在线免费播放| 欧美一区二区三区公司| 精品国产乱码久久久久久久| 久久久综合精品| 国产精品国产三级国产专播品爱网 | 亚洲成在线观看| 亚洲一区av在线| 日本成人中文字幕| 国产suv精品一区二区三区| 成人免费毛片片v| 精品视频一区三区九区| 欧美r级在线观看| 中文字幕日本乱码精品影院| 亚洲制服欧美中文字幕中文字幕| 婷婷亚洲久悠悠色悠在线播放 | 久久亚洲欧美国产精品乐播| 国产亚洲成aⅴ人片在线观看| 中文字幕一区二区三区蜜月 | 欧美一卡在线观看| 欧美国产国产综合| 亚瑟在线精品视频| 豆国产96在线|亚洲| 欧美日韩一区二区欧美激情| 国产亚洲综合av| 婷婷久久综合九色综合伊人色| 六月丁香综合在线视频| 色综合天天综合给合国产| 日韩精品最新网址| 一区二区三区四区在线播放| 国内久久精品视频| 欧美日韩精品一区二区三区| 国产丝袜欧美中文另类| 同产精品九九九| 97久久超碰国产精品| 久久九九久精品国产免费直播| 亚洲综合免费观看高清在线观看| 国产中文一区二区三区| 欧美午夜电影网| 国产精品久久久久久久久动漫| 日本欧美加勒比视频| 一本一道久久a久久精品| 国产午夜精品美女毛片视频| 免费在线观看成人| 欧美自拍偷拍午夜视频| 中文字幕一区二区5566日韩| 精彩视频一区二区三区| 制服丝袜成人动漫| 五月婷婷综合在线| 欧美亚洲日本一区| 亚洲色欲色欲www在线观看| 国产成人av电影| 久久久久久久国产精品影院| 蜜桃视频在线观看一区| 欧美一区二区在线视频| 石原莉奈一区二区三区在线观看| 在线一区二区视频| 1000精品久久久久久久久| 成人在线视频一区| 国产精品美日韩| 成人黄色片在线观看| 亚洲国产精品精华液ab| 国产精品一区二区视频| 国产女人18水真多18精品一级做| 韩日av一区二区| 久久久久久久一区| 国产成人午夜电影网| 中文字幕巨乱亚洲| 成人黄页毛片网站| 一区二区激情视频| 欧美午夜免费电影| 首页国产欧美日韩丝袜| 在线播放中文一区| 日韩av网站免费在线| 日韩一区二区三区高清免费看看| 爽好多水快深点欧美视频| 日韩欧美亚洲一区二区| 久久不见久久见免费视频1| 久久先锋资源网| 成人小视频免费观看| 亚洲精品欧美综合四区| 在线成人免费视频| 国产精品一色哟哟哟| 亚洲午夜久久久久| 欧美一区二区大片| 国产99久久久久久免费看农村| 中文字幕一区二区视频| 欧美日韩成人综合| 国产福利一区在线观看| 亚洲免费视频中文字幕| 欧美一区日韩一区| 成人av先锋影音| 亚洲超碰97人人做人人爱| 久久久久亚洲蜜桃| 在线观看国产一区二区| 精品一区二区三区不卡 | 色综合久久综合网欧美综合网| 亚洲成在线观看| 国产蜜臀av在线一区二区三区| 欧美综合一区二区三区| 国产精品888| 五月天激情综合| 国产精品免费av| 91精品国产一区二区人妖| 成人午夜电影久久影院| 天天综合网天天综合色| 亚洲三级在线播放| 日韩精品一区二区三区在线播放| 成人91在线观看| 久久精品国产亚洲5555| 亚洲一二三专区| 久久久精品蜜桃| 777久久久精品| 色94色欧美sute亚洲线路一ni| 国产一区二区主播在线| 亚洲v日本v欧美v久久精品| 国产精品看片你懂得| 日韩免费一区二区| 欧美三级日韩三级| 99re66热这里只有精品3直播 | 日韩成人一区二区三区在线观看| 国产女同性恋一区二区| 欧美v国产在线一区二区三区| 欧美性感一区二区三区| 91在线视频18| 成人性生交大片免费| 国产黄色精品网站| 国产在线精品一区二区不卡了| 午夜电影网一区| 老司机午夜精品| 日韩电影一二三区| 爽好多水快深点欧美视频| 一区二区激情视频| 亚洲在线成人精品| 亚洲一区在线观看免费观看电影高清| 国产精品国产三级国产普通话99| 精品成人免费观看| 精品对白一区国产伦| 欧美xxx久久| 26uuu欧美| 国产亚洲一区二区三区在线观看 | 亚洲一区二区中文在线| 国产精品国产精品国产专区不片| 久久精品日韩一区二区三区| 久久女同互慰一区二区三区| 欧美成人一级视频| 久久久精品国产免大香伊| 久久精品一区八戒影视| 国产日本一区二区| 中文字幕日韩欧美一区二区三区| 亚洲乱码国产乱码精品精可以看| 91精品国产91综合久久蜜臀| 欧美日韩一区二区在线观看视频| 欧美唯美清纯偷拍| 欧美日韩在线精品一区二区三区激情| 欧美日韩一本到| 日韩三级视频中文字幕| 久久久亚洲午夜电影| 国产精品视频一二| 亚洲一区二区三区四区五区中文| 亚洲狠狠爱一区二区三区| 日韩**一区毛片| 国产精品一区二区不卡| 色综合久久99| 日韩精品中文字幕一区| 国产女同性恋一区二区| 亚洲国产一二三| 精品中文字幕一区二区小辣椒| 国产精品一品二品| 欧美性猛交xxxx黑人交| 精品sm捆绑视频| 亚洲日本在线天堂| 久久国产日韩欧美精品| 99久久国产免费看| 精品日韩99亚洲| 亚洲视频小说图片| 久久激情五月婷婷| 91精品办公室少妇高潮对白| 欧美videos中文字幕| 亚洲欧洲精品一区二区三区不卡| 亚洲成a人v欧美综合天堂下载 | 日韩不卡一区二区三区| 国产伦精品一区二区三区在线观看 | 91麻豆精品国产91久久久| 国产精品私人自拍| 日本欧美一区二区三区|