⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendstr.c

📁 该代码为unix环境高级编程的源代码
💻 C
字号:
#include	"calld.h"intsend_str(int fd, char *ptr, char *phone, int echocheck){	char	c, tempc;		/* go though send string, converting escape sequences on the fly */	while ( (c = *ptr++) != 0) {		if (c == '\\') {			if (*ptr == 0) {				sprintf(errmsg, "backslash at end of send string\n");				return(-1);			}			c = *ptr++;		/* char following backslash */			switch (c) {			case 'c':		/* no CR, if at end of string */				if (*ptr == 0)					goto returnok;				continue;	/* ignore if not at end of string */			case 'd':		/* 2 second delay */				DEBUG_NONL("<delay>");				sleep(2);				continue;			case 'p':		/* 0.25 second pause */				DEBUG_NONL("<pause>");				sleep_us(250000);	/* {Ex sleepus} */				continue;			case 'e':				DEBUG_NONL("<echo check off>");				echocheck = 0;				continue;			case 'E':				DEBUG_NONL("<echo check on>");				echocheck = 1;				continue;			case 'T':		/* output phone number */				send_str(fd, phone, phone, echocheck);	/* recursive */				continue;			case 'r':				c = '\r';				break;			case 's':				c = ' ';				break;				/* room for lots more case statements ... */			default:				sprintf("errmsg, unknown send escape char: \\%s\n",														ctl_str(c));				return(-1);			}		}		DEBUG_NONL("%s", ctl_str(c));		if (write(fd, &c, 1) != 1)			log_sys("write error");		if (echocheck) {		/* wait for char to be echoed */			do {				if (read(fd, &tempc, 1) != 1)					log_sys("read error");				DEBUG_NONL("{%s}", ctl_str(tempc));			} while (tempc != c);		}	}	c = '\r';	/* if no \c at end of string, CR written at end */	DEBUG_NONL("%s", ctl_str(c));	if (write(fd, &c, 1) != 1)		log_sys("write error");returnok:	DEBUG("");	return(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -