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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pcmdfile.c

?? 一個通訊程序源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*+-------------------------------------------------------------------------	pcmdfile.c - ecu file-related procedure commands	wht@n4hgf.Mt-Park.GA.US  Defined functions:	_file_not_open(filenum)	_gfilenum(param,filenum)	_param_to_stat(param,pstat_rtnd)	ifunc_fatime(param,pvalue)	ifunc_fmode(param,pvalue)	ifunc_fmtime(param,pvalue)	ifunc_fsize(param,pvalue)	ifunc_ftell(param,pvalue)	ifunc_ischr(param,pvalue)	ifunc_isdir(param,pvalue)	ifunc_isreg(param,pvalue)	pcmd_fchmod(param)	pcmd_fclose(param)	pcmd_fdel(param)	pcmd_fgetc(param)	pcmd_fgets(param)	pcmd_fopen(param)	pcmd_fputc(param)	pcmd_fputs(param)	pcmd_fread(param)	pcmd_fseek(param)	pcmd_fwrite(param)	pcmd_mkdir(param)	pcmd_pclose(param)	pcmd_popen(param)	proc_file_reset()	str_to_filemode(modestr,filemode)--------------------------------------------------------------------------*//*+:EDITS:*//*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 *//*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA *//*:07-03-1992-12:48-wht@n4hgf-why not let fchmod set any bits? *//*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 *//*:06-27-1991-13:45-wht@n4hgf-$i0 wasn't always plugged on failures *//*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */#include "ecu.h"#include "ecukey.h"#include "ecuerror.h"#include "esd.h"#include "var.h"#include "proc.h"#if !defined(S_IRUSR)#define	S_IRUSR	00400		/* read permission: owner */#define	S_IWUSR	00200		/* write permission: owner */#define	S_IXUSR	00100		/* execute permission: owner */#define	S_IRWXG	00070		/* read, write, execute: group */#define	S_IRGRP	00040		/* read permission: group */#define	S_IWGRP	00020		/* write permission: group */#define	S_IXGRP	00010		/* execute permission: group */#define	S_IRWXO	00007		/* read, write, execute: other */#define	S_IROTH	00004		/* read permission: other */#define	S_IWOTH	00002		/* write permission: other */#define	S_IXOTH	00001		/* execute permission: other */#endifextern PCB *pcb_stack[];#define FILE_MAX	5typedef struct pfile_struct{	FILE *f;	/* file pointer */	ESD *n;		/* file name */} PFILE;PFILE pfile[FILE_MAX];char fwrite_error_fmt[] = "file %d write error (not open for write?)\n";/*+-------------------------------------------------------------------------	proc_file_reset()--------------------------------------------------------------------------*/voidproc_file_reset(){register itmp;	for(itmp = 0; itmp < FILE_MAX; itmp++)	{		if(pfile[itmp].f)		{			fclose(pfile[itmp].f);			pfile[itmp].f = (FILE *)0;			esdfree(pfile[itmp].n);		}	}}	/* end of proc_file_reset *//*+-------------------------------------------------------------------------	_file_not_open(filenum)--------------------------------------------------------------------------*/int_file_not_open(filenum)int filenum;{	pprintf("file %d not open\n",filenum);	return(eFATAL_ALREADY);}	/* end of _file_not_open *//*+-------------------------------------------------------------------------	_gfilenum(param,filenum)--------------------------------------------------------------------------*/int_gfilenum(param,filenum)ESD *param;int *filenum;{int erc;ulong lvarnum;int old_index;	skip_cmd_break(param);	old_index = param->old_index;	if(erc = gint(param,&lvarnum))		return(erc);	if(lvarnum > FILE_MAX)		return(eBadFileNumber);	*filenum = (int)lvarnum;	param->old_index = old_index;	return(0);}	/* end of _gfilenum *//*+-------------------------------------------------------------------------	str_to_filemode(modestr,filemode) - "rwxrwxrwx" to mode integer--------------------------------------------------------------------------*/str_to_filemode(modestr,filemode)char *modestr;long *filemode;{register i;register mode = 0;int erc = 0;	if(strlen(modestr) != 9)	{		pprintf("bad length: '%s'\n",modestr);		return(eFATAL_ALREADY);	}	for(i=0; i < 9; i++)	{		switch(modestr[i])		{		case 'r':			if(i == 0)				mode |= S_IRUSR;			else if(i == 3)				mode |= S_IRGRP;			else if(i == 6)				mode |= S_IROTH;			else				erc = eSyntaxError;			break;		case 'w':			if(i == 1)				mode |= S_IWUSR;			else if(i == 4)				mode |= S_IWGRP;			else if(i == 7)				mode |= S_IWOTH;			else				erc = eSyntaxError;			break;		case 'x':			if(i == 2)				mode |= S_IXUSR;			else if(i == 5)				mode |= S_IXGRP;			else if(i == 8)				mode |= S_IXOTH;			else				erc = eSyntaxError;			break;		case 's':			if(i == 2)			{				mode |= S_ISUID;				mode |= S_IXUSR;			}			else if(i == 5)			{				mode |= S_ISGID;				mode |= S_IXGRP;			}			else if(i == 7)			{				mode |= S_ISGID;				mode |= S_IXGRP;			}			else				erc = eSyntaxError;			break;		case 't':#if defined(FULL_FEATURE_CHMODE)			if(i == 8)			{				mode |= S_ISVTX;				mode |= S_IXOTH;			}			else				erc = eSyntaxError;#else			pputs("set sticky bit not allowed\n");			erc = eFATAL_ALREADY;#endif /* defined(FULL_FEATURE_CHMODE) */			break;		case 'l':			if(i == 5)			{				mode |= S_ISGID;				mode &= ~S_IXGRP;			}			else				erc = eSyntaxError;			break;		case '-':			break;		default:			erc = eSyntaxError;		}	/* end switch */		if(erc)			break;	}		/* end for */	if(erc)	{		if(erc != eFATAL_ALREADY)			pputs("invalid mode specifier\n");		pputs(modestr);		while(i--)			pputc(' ');		pputs("^\n");			}	else		*filemode = (long)mode;	return(erc);}	/* end of str_to_filemode *//*+-------------------------------------------------------------------------	pcmd_fgetc(param)fgetc <filenum-int> [$][i<varspec> | $s<varspec>]int variable receives 0 if EOFstr var receives null str on eof--------------------------------------------------------------------------*/intpcmd_fgetc(param)ESD *param;{int erc;int filenum;int vartype;int inchar;ESD *svptr;long *ivptr;	if(!proc_level)		return(eNotExecutingProc);	if(erc = _gfilenum(param,&filenum))		return(erc);	if(!pfile[filenum].f)		return(_file_not_open(filenum));	skip_cmd_char(param,'$');	if((param->index >= param->cb) ||		( ((vartype = to_lower(*(param->pb + param->index))) != 'i') &&			(vartype != 's')))		return(eIllegalVarType);	param->index++;	switch(vartype)	{		case 'i':			erc = get_ivptr(param,&ivptr,1);			break;		default:			erc = get_svptr(param,&svptr,1);			break;	}	if(erc)		return(erc);	if((inchar = fgetc(pfile[filenum].f)) == EOF)	{		if(proctrace)			pputs("fgetc EOF\n");		if(vartype == 'i')			*ivptr = -1;		else			esdzero(svptr);	}	else if(vartype == 'i')		*ivptr = inchar;	else	{		*svptr->pb = inchar;		svptr->cb = 1;	}	if(proctrace)	{		pputs("fgetc set ");		pputs((vartype == 'i') ? "int" : "str");		pprintf(" var = %lu (0x%02x)\n",inchar,inchar);	}	return(0);}	/* end of pcmd_fgetc *//*+-------------------------------------------------------------------------	pcmd_fread(param)--------------------------------------------------------------------------*//*ARGSUSED*/intpcmd_fread(param)ESD *param;{	return(eNotImplemented);}	/* end of pcmd_fread *//*+-------------------------------------------------------------------------	pcmd_fgets(param)fgetc <filenum-int> [$][s]<varspec>--------------------------------------------------------------------------*/intpcmd_fgets(param)ESD *param;{int erc;int filenum;char ctmp;ESD *svptr;	if(!proc_level)		return(eNotExecutingProc);	if(erc = _gfilenum(param,&filenum))		return(erc);	if(!pfile[filenum].f)		return(_file_not_open(filenum));	skip_cmd_char(param,'$');	if(erc = get_cmd_char(param,&ctmp))		return(erc);	if(to_lower(ctmp) != 's')		return(eIllegalVarType);	if(erc = get_svptr(param,&svptr,1))		return(erc);	*svptr->pb = 0;	svptr->cb = 0;	if(!(iv[0] = !fgets(svptr->pb,svptr->maxcb + 1,pfile[filenum].f)))	{		svptr->cb = strlen(svptr->pb);		if(*(svptr->pb + svptr->cb - 1) == NL)		{			svptr->cb--;			esd_null_terminate(svptr);		}	}	if(proctrace)		pprintf("fgets set str var = '%s'\n",svptr->pb);	return(0);}	/* end of pcmd_fgets *//*+-------------------------------------------------------------------------	pcmd_fclose(param)fclose <filenum-int>--------------------------------------------------------------------------*/intpcmd_fclose(param)ESD *param;{int erc;int filenum;	if(!proc_level)		return(eNotExecutingProc);	if(erc = _gfilenum(param,&filenum))		return(erc);	if(pfile[filenum].f)	{		fclose(pfile[filenum].f);		pfile[filenum].f = (FILE *)0;		esdfree(pfile[filenum].n);	}	return(0);}	/* end of pcmd_fclose *//*+-------------------------------------------------------------------------	pcmd_fputc(param)fputc <file-num> <int>fputc <file-num> <str>--------------------------------------------------------------------------*/intpcmd_fputc(param)ESD *param;{int erc;int filenum;ESD *buf = (ESD *)0;char outchar = 0;long outlong;	if(!proc_level)		return(eNotExecutingProc);	if(erc = _gfilenum(param,&filenum))		return(erc);	if(!pfile[filenum].f)		return(_file_not_open(filenum));	if(!gint(param,&outlong))		outchar = (char)outlong;	else	{		if((buf = esdalloc(64)) == (ESD *)0)			return(eNoMemory);		if(erc = gstr(param,buf,1))			goto RETURN;		if(!buf->cb)		{			pputs("cannot fputc: zero length string\n");			erc = eFATAL_ALREADY;			goto RETURN;		}		outchar = *buf->pb;	}	if(fputc(outchar,pfile[filenum].f) < 0)	{		pprintf(fwrite_error_fmt,filenum);		erc = eFATAL_ALREADY;	}RETURN:	if(buf)		esdfree(buf);	return(erc);}	/* end of pcmd_fputc *//*+-------------------------------------------------------------------------	pcmd_fopen(param)fopen [-<fopen_switches>] <filenum-int> <filename-str>sets $i0 with result--------------------------------------------------------------------------*/intpcmd_fopen(param)ESD *param;{int erc;int filenum;ESD *fname = (ESD *)0;char switches[8];	if(!proc_level)		return(eNotExecutingProc);	if(get_switches(param,switches,sizeof(switches)))	{		strcpy(switches,"-r");		if(proctrace)		{			pputs("Warning: fopen defaulting to read\n");			show_error_position(pcb_stack[proc_level - 1]);		}	}	if(erc = _gfilenum(param,&filenum))		return(erc);	if(pfile[filenum].f)	{		pprintf("file %d already open\n",filenum);		return(eFATAL_ALREADY);	}	if((fname = esdalloc(256)) == (ESD *)0)		return(eNoMemory);	if(erc = gstr(param,fname,1))		goto RETURN;	iv[0] = 0;	if(pfile[filenum].f = fopen(fname->pb,switches + 1))	{		iv[0] = (long)errno;		if(proctrace)		{			pprintf("'%s'",fname->pb);			pperror(" ");		}	}	else if(proctrace)		pprintf("opened '%s' as file %d\n",fname->pb,filenum);	if(!erc)		pfile[filenum].n = fname;RETURN:	if(erc)		esdfree(fname);	return(erc);}	/* end of pcmd_fopen *//*+-------------------------------------------------------------------------	pcmd_fputs(param)fputs [-n] <filenum-int> <str>-n do not output newline after <str><filenum-int> file number for operation<str> string to write to file--------------------------------------------------------------------------*/intpcmd_fputs(param)ESD *param;{int erc;int filenum;ESD *buf = (ESD *)0;char switches[8];	if(!proc_level)		return(eNotExecutingProc);	get_switches(param,switches,sizeof(switches));	if(erc = _gfilenum(param,&filenum))		return(erc);	if(!pfile[filenum].f)		return(_file_not_open(filenum));	if((buf = esdalloc(256)) == (ESD *)0)		return(eNoMemory);	if(erc = gstr(param,buf,1))		goto RETURN;	if(!fputs(buf->pb,pfile[filenum].f) && strlen(buf->pb))	{		pprintf(fwrite_error_fmt,filenum);		erc = eFATAL_ALREADY;		goto RETURN;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本aⅴ免费视频一区二区三区 | 欧美日本韩国一区二区三区视频| 欧美丝袜自拍制服另类| 欧美电影精品一区二区| 亚洲精品日产精品乱码不卡| 国内成人精品2018免费看| 日本久久电影网| 久久久久久久久久久久电影| 天天色图综合网| 99精品视频在线免费观看| 久久综合国产精品| 日本怡春院一区二区| 91色|porny| 国产精品少妇自拍| 国产在线视频精品一区| 日韩一级高清毛片| 日韩av网站在线观看| 欧美日韩国产综合一区二区三区| ●精品国产综合乱码久久久久| 国产高清成人在线| 久久久蜜桃精品| 国产精品伊人色| 久久久久久久久蜜桃| 激情五月激情综合网| 欧美一级免费大片| 日韩高清一区二区| 欧美肥妇毛茸茸| 亚洲国产日韩a在线播放| 91在线视频播放| 18成人在线视频| 色婷婷一区二区三区四区| 亚洲私人黄色宅男| 91老司机福利 在线| 亚洲欧美偷拍三级| 欧美午夜视频网站| 视频一区中文字幕国产| 欧美片在线播放| 亚洲免费观看高清完整版在线| 日韩视频一区二区在线观看| 欧美刺激午夜性久久久久久久| 国产成人免费视频一区| 狠狠色伊人亚洲综合成人| 日日摸夜夜添夜夜添亚洲女人| 一片黄亚洲嫩模| 一区二区三区在线影院| 一区二区不卡在线视频 午夜欧美不卡在| 久久久精品影视| 一区二区三区日本| 亚洲电影第三页| 欧美福利视频导航| 国产一区二区免费看| 国产色91在线| 色狠狠一区二区| 视频在线观看国产精品| 久久婷婷综合激情| av亚洲精华国产精华| 五月婷婷综合在线| 国产亚洲成aⅴ人片在线观看| 成人av电影在线观看| 亚洲成av人片在线| 国产三级精品视频| 在线观看视频一区二区欧美日韩| 丝袜美腿亚洲色图| 国产三级久久久| 欧美日韩高清一区| 成人av在线一区二区三区| 一区二区免费视频| 久久精品在线免费观看| 欧美日韩一区二区三区四区| 国产美女在线观看一区| 亚洲欧美一区二区三区国产精品| 欧美一区二区三区免费| 不卡一卡二卡三乱码免费网站 | 欧美日韩五月天| 国产麻豆精品95视频| 午夜久久久久久电影| 国产午夜一区二区三区| 欧美男生操女生| 91在线高清观看| 精品一区二区av| 午夜伊人狠狠久久| 中文字幕一区二区三区av| 日韩精品一区二区三区中文精品| 91在线精品一区二区三区| 国产专区综合网| 偷拍一区二区三区| 亚洲日本韩国一区| 中文字幕免费不卡| 久久婷婷国产综合国色天香| 欧美精品第1页| 在线观看中文字幕不卡| 99精品热视频| 成人丝袜18视频在线观看| 久久国产精品无码网站| 亚洲成人av电影在线| 亚洲人123区| 亚洲欧洲国产日韩| 久久精品夜色噜噜亚洲a∨| 日韩一区二区三区精品视频| 欧美综合亚洲图片综合区| 99精品热视频| 91网站视频在线观看| 国产99久久久久| 国产精品88av| 国产成人综合在线观看| 国产在线精品视频| 韩国成人精品a∨在线观看| 美女一区二区三区| 久久国产精品无码网站| 九色|91porny| 麻豆精品一区二区综合av| 日本aⅴ免费视频一区二区三区| 午夜影视日本亚洲欧洲精品| 午夜精品久久久久影视| 视频一区在线播放| 美女视频网站久久| 精品一区二区在线免费观看| 久久精品72免费观看| 精品一区二区三区在线播放 | 国产一区二区毛片| 黄色资源网久久资源365| 国产麻豆成人传媒免费观看| 国内外成人在线| 国产精品1区2区3区在线观看| 国产精品123区| 高清不卡在线观看av| 99精品在线观看视频| 欧美色综合天天久久综合精品| 在线观看亚洲一区| 日韩欧美不卡在线观看视频| 精品99久久久久久| 日韩视频免费直播| 精品久久国产97色综合| 国产欧美日韩卡一| 亚洲小说春色综合另类电影| 日韩高清不卡在线| 久久激情五月激情| 国产.欧美.日韩| 欧美影视一区二区三区| 日韩欧美一区在线观看| 欧美国产成人精品| 亚洲一区在线观看免费| 美腿丝袜亚洲色图| 99精品视频中文字幕| 51久久夜色精品国产麻豆| 精品999在线播放| 亚洲欧美激情插| 经典一区二区三区| 91麻豆免费看| 欧美一二三四区在线| 国产精品第五页| 麻豆91精品视频| 91年精品国产| 精品久久久三级丝袜| 日韩美女精品在线| 久久精品噜噜噜成人av农村| aa级大片欧美| 2021中文字幕一区亚洲| 一区二区三区在线免费| 国产成人亚洲综合色影视| 欧美日韩精品一区二区天天拍小说 | 欧美一区二区三区免费大片 | 亚洲婷婷综合色高清在线| 捆绑调教一区二区三区| 91热门视频在线观看| 欧美α欧美αv大片| 亚洲国产日韩a在线播放性色| 国产精品99久久久久久宅男| 在线不卡一区二区| 亚洲久本草在线中文字幕| 激情综合一区二区三区| 欧美日本一道本在线视频| 国产精品久久福利| 国产精品综合在线视频| 91精品国产综合久久久久久久久久 | 国产嫩草影院久久久久| 蜜桃在线一区二区三区| 一本大道久久a久久精二百| 久久天天做天天爱综合色| 日本成人在线不卡视频| 91福利视频在线| 亚洲美女免费视频| 懂色av一区二区夜夜嗨| 26uuu亚洲综合色| 美腿丝袜亚洲一区| 欧美一级一级性生活免费录像| 亚洲另类一区二区| 色综合久久综合中文综合网| 国产精品网站在线| 国产成人免费在线视频| 久久久久久久久久久久电影| 精品一区二区日韩| 久久午夜色播影院免费高清| 久久99国产精品久久| 欧美成人vps| 国产综合久久久久久鬼色| 2024国产精品| 国产高清不卡一区二区| 欧美激情一区二区三区四区| 国产成人av电影免费在线观看|