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

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

?? session.c

?? Linux下的MUD客戶端程序
?? C
字號:
/* Autoconf patching by David Hedbor, neotron@lysator.liu.se *//*********************************************************************//* file: session.c.c - funtions related to sessions                  *//*                             TINTIN III                            *//*          (T)he K(I)cki(N) (T)ickin D(I)kumud Clie(N)t             *//*                     coded by peter unold 1992                     *//*********************************************************************/#include <ctype.h>#ifdef HAVE_STRING_H#include <string.h>#else#ifdef HAVE_STRINGS_H#include <strings.h>#endif#endif#include "tintin.h"#ifdef HAVE_STDLIB_H#include <stdlib.h>#endif#ifdef HAVE_UNISTD_H#include <unistd.h>#endifvoid show_session();struct session *new_session();extern char *get_arg_in_braces();extern char *space_out();extern char *mystrdup();extern struct listnode *copy_list();extern struct listnode *init_list();extern int sessionsstarted;extern struct session *sessionlist, *activesession;extern struct listnode *common_aliases, *common_functions, *common_actions, *common_subs;extern struct listnode *common_myvars, *common_highs, *common_antisubs;extern struct listnode *common_pathdirs;extern char vars[10][BUFFER_SIZE]; /* the %0, %1, %2,....%9 variables *//************************//* the #session command *//************************/struct session *session_command(arg, ses)     char *arg;     struct session *ses;{  char left[BUFFER_SIZE], right[BUFFER_SIZE];  struct session *sesptr;  /* struct listnode *ln; */  /* int i; */  arg=get_arg_in_braces(arg, left, 0);  arg=get_arg_in_braces(arg, right, 1);  if(!*left) {    tintin_puts("#THESE SESSIONS HAS BEEN DEFINED:", ses);    for(sesptr=sessionlist; sesptr; sesptr=sesptr->next)      show_session(sesptr);    prompt(ses);  }  else if(*left && !*right) {    for(sesptr=sessionlist; sesptr; sesptr=sesptr->next)      if(!strcmp(sesptr->name, left)) {        show_session(sesptr);        break;      }    if(sesptr==NULL) {      tintin_puts("#THAT SESSION IS NOT DEFINED.", ses);      prompt(NULL);    }  }  else {    for(sesptr=sessionlist; sesptr; sesptr=sesptr->next)      if(strcmp(sesptr->name, left)==0) {        tintin_puts("#THERE'S A SESSION WITH THAT NAME ALREADY.", ses);        prompt(NULL);        return ses;      }    ses=new_session(left, right, ses);  }  return ses;}/******************//* show a session *//******************/void show_session(ses)     struct session *ses; {  char temp[BUFFER_SIZE];  sprintf(temp, "%-10s%s", ses->name, ses->address);  if(ses==activesession)     strcat(temp, " (active)");  if(ses->snoopstatus)    strcat(temp, " (snooped)");  if(ses->logfile)    strcat(temp, " (logging)");  tintin_puts2(temp, (struct session *) NULL);   prompt(NULL);}/**********************************//* find a new session to activate *//**********************************/struct session *newactive_session(){  if(sessionlist) {    char buf[BUFFER_SIZE];    activesession=sessionlist;    sprintf(buf, "#SESSION '%s' ACTIVATED.", sessionlist->name);        tintin_puts(buf, NULL);  }  else    tintin_puts("#THERE'S NO ACTIVE SESSION NOW.", NULL);  prompt(NULL);  return sessionlist;}/**********************//* open a new session *//**********************/struct session *new_session(name, address, ses)     char *name;     char *address;     struct session *ses;{  int i,sock;  char *host, *port;  struct session *newsession;  port=host=space_out(mystrdup(address));  if(!*host) {    tintin_puts("#HEY! SPECIFY AN ADDRESS WILL YOU?", ses);    return ses;  }  while(*port && !isspace(*port))    port++;  *port++='\0';  port=space_out(port);  if(!*port) {    tintin_puts("#HEY! SPECIFY A PORT NUMBER WILL YOU?", ses);    return ses;  }    if(!(sock=connect_mud(host, port, ses)))   return ses;  newsession=(struct session *)malloc(sizeof(struct session));  newsession->name=mystrdup(name);  newsession->address=mystrdup(address);  newsession->tickstatus=FALSE;  newsession->snoopstatus=FALSE;  newsession->logfile=NULL;  newsession->ignore=DEFAULT_IGNORE;  newsession->aliases=copy_list(common_aliases, ALPHA);  newsession->myfuncs=copy_list(common_functions, ALPHA);  newsession->actions=copy_list(common_actions, PRIORITY);  newsession->subs=copy_list(common_subs, ALPHA);  newsession->myvars=copy_list(common_myvars, ALPHA);  newsession->highs=copy_list(common_highs, ALPHA);  newsession->pathdirs=copy_list(common_pathdirs, ALPHA);  newsession->socket=sock;  newsession->antisubs=copy_list(common_antisubs, ALPHA);  newsession->socketbit=1<<sock;  newsession->next=sessionlist;  for(i=0; i<HISTORY_SIZE; i++)    newsession->history[i]=NULL;  newsession->path=init_list(newsession->path);  newsession->path_list_size=0;  newsession->path_length=0;  newsession->more_coming=0;  newsession->old_more_coming=0;  sessionlist=newsession;  activesession=newsession;    sessionsstarted++;  return(newsession);}/*****************************************************************************//* cleanup after session died. if session=activesession, try find new active *//*****************************************************************************/void cleanup_session(ses)     struct session *ses;{  int i;  char buf[BUFFER_SIZE];  struct session *sesptr;  sessionsstarted--;  kill_all(ses, END);  /* printf("DEBUG: Hist: %d \n\r",HISTORY_SIZE); */  /* CHANGED to fix a possible memory leak  for(i=0; i<HISTORY_SIZE; i++)     ses->history[i]=NULL;  */  for(i=0; i<HISTORY_SIZE; i++)    if((ses->history[i]))      free(ses->history[i]);   if(ses==sessionlist)    sessionlist=ses->next;  else {    for(sesptr=sessionlist; sesptr->next!=ses; sesptr=sesptr->next);    sesptr->next=ses->next;  }  sprintf(buf, "#SESSION '%s' DIED.", ses->name);  tintin_puts(buf, NULL);/*  if(write(ses->socket, "ctld\n", 5)<5)    syserr("write in cleanup"); */    /* can't do this, cozof the peer stuff in net.c */  if(close(ses->socket)== -1)    syserr("close in cleanup");  if(ses->logfile)    fclose(ses->logfile);    free(ses);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色中色一区二区| 日韩一区和二区| 欧美日韩久久一区| 久久久99免费| 视频在线观看一区| 91麻豆精品视频| 日韩视频在线你懂得| 一区二区三区免费在线观看| 国产一区欧美二区| 欧美人伦禁忌dvd放荡欲情| 国产精品伦一区| 国内欧美视频一区二区| 欧美丰满嫩嫩电影| 国产精品看片你懂得| 国产一区二区福利视频| 欧美精品日韩一区| 夜夜精品浪潮av一区二区三区| 国产在线精品免费| 欧美一级夜夜爽| 天天综合天天综合色| 99精品久久免费看蜜臀剧情介绍| 精品国产精品一区二区夜夜嗨| 日韩制服丝袜av| 欧洲色大大久久| 亚洲免费在线观看视频| 成人午夜电影小说| 国产欧美日韩另类视频免费观看 | 2017欧美狠狠色| 奇米影视在线99精品| 欧美日韩精品一区二区三区| 自拍偷拍亚洲激情| 91老司机福利 在线| 最新中文字幕一区二区三区| av一本久道久久综合久久鬼色| 国产香蕉久久精品综合网| 国产精品自拍三区| 国产丝袜美腿一区二区三区| 国产成人夜色高潮福利影视| 国产婷婷色一区二区三区| 国产福利不卡视频| 中文字幕欧美日韩一区| 99精品久久只有精品| 亚洲精选视频免费看| 日本道色综合久久| 亚洲v日本v欧美v久久精品| 欧美日韩视频一区二区| 免费国产亚洲视频| 国产日韩欧美不卡| 成人av高清在线| 一区二区三区欧美在线观看| 欧美另类z0zxhd电影| 久久国产精品72免费观看| 久久免费国产精品| 99国内精品久久| 亚洲小说欧美激情另类| 日韩一二在线观看| 国产高清无密码一区二区三区| 国产精品久久一级| 欧美日韩国产高清一区| 精品一区二区影视| 自拍偷拍国产精品| 69久久99精品久久久久婷婷 | 日韩亚洲欧美一区| 国产成人精品一区二区三区网站观看| 欧美国产综合色视频| 日本国产一区二区| 美女久久久精品| 国产精品久久99| 4438x成人网最大色成网站| 国产成人高清在线| 天天综合天天做天天综合| 精品国产人成亚洲区| 91啪九色porn原创视频在线观看| 午夜私人影院久久久久| 久久―日本道色综合久久| 色妞www精品视频| 黄色小说综合网站| 亚洲一区免费观看| 亚洲国产精品高清| 91精品国产色综合久久不卡蜜臀 | 五月婷婷久久丁香| 国产精品美女久久久久久2018 | 午夜一区二区三区视频| 国产午夜精品久久久久久免费视| 欧美中文字幕一区二区三区| 久久99精品久久久久| 亚洲图片欧美综合| 中文字幕中文在线不卡住| 精品久久久久久久久久久久久久久 | 亚洲一区二区在线观看视频 | 欧美做爰猛烈大尺度电影无法无天| 欧美aa在线视频| 亚洲激情图片qvod| 国产精品高潮久久久久无| 欧美精品一区二区久久久| 在线视频一区二区三区| 99久久综合狠狠综合久久| 国产麻豆日韩欧美久久| 日本不卡不码高清免费观看| 亚洲午夜av在线| 一区二区在线电影| 亚洲人成影院在线观看| 国产午夜精品久久| 久久精品人人做人人综合 | 久久久久久久综合日本| 欧美久久久久久久久中文字幕| av一区二区不卡| va亚洲va日韩不卡在线观看| 国模大尺度一区二区三区| 久久99在线观看| 蜜桃在线一区二区三区| 日韩成人午夜精品| 首页国产欧美久久| 琪琪久久久久日韩精品| 视频在线观看91| 日本91福利区| 免费在线看成人av| 免费在线观看一区二区三区| 美女视频黄久久| 国产一区在线精品| 国产一区二区三区香蕉 | 日本成人中文字幕在线视频| 亚洲成av人**亚洲成av**| 亚洲成人资源在线| 美女脱光内衣内裤视频久久网站 | 91精品国产欧美一区二区成人| 欧美日韩小视频| 日韩一二三区视频| 久久久久国产精品麻豆ai换脸 | 国产精品高潮呻吟| 亚洲男同1069视频| 视频一区视频二区中文| 免费一级片91| 国产成a人无v码亚洲福利| 成人99免费视频| 欧洲av在线精品| 日韩欧美一区二区在线视频| 久久一夜天堂av一区二区三区| 国产欧美日韩亚州综合 | 日韩精品三区四区| 韩国av一区二区三区四区| 成人自拍视频在线观看| 日本久久电影网| 日韩精品一区二区三区视频在线观看| 欧美精品一区二区三| 国产精品视频一区二区三区不卡| 亚洲精品中文字幕在线观看| 日韩精品亚洲一区| 成人av综合在线| 欧美日韩亚洲综合| 国产偷国产偷亚洲高清人白洁 | 一本到不卡精品视频在线观看| 欧美日韩高清一区二区三区| 精品处破学生在线二十三| 亚洲欧美激情在线| 麻豆91在线播放| 99re在线视频这里只有精品| 7777精品久久久大香线蕉| 国产日本欧美一区二区| 五月婷婷综合网| 白白色 亚洲乱淫| 欧美一级欧美三级| 亚洲美女视频在线| 国产在线精品免费| 91麻豆精品国产91久久久使用方法 | 蜜臀av一级做a爰片久久| aaa欧美色吧激情视频| 日韩欧美一区二区久久婷婷| 亚洲乱码国产乱码精品精的特点| 激情图区综合网| 欧美人妖巨大在线| 亚洲免费色视频| 成人国产精品免费| 日韩欧美在线网站| 午夜精品成人在线| 91丝袜呻吟高潮美腿白嫩在线观看| 精品对白一区国产伦| 亚洲一区二区三区国产| 成人av在线网| 久久一夜天堂av一区二区三区 | 亚洲成av人片在线| 色综合久久久久综合体| 欧美激情一区二区三区不卡| 九九精品视频在线看| 欧美剧情片在线观看| 亚洲黄色av一区| 97久久久精品综合88久久| 久久精品欧美一区二区三区麻豆| 免费亚洲电影在线| 日韩一区二区中文字幕| 天天影视色香欲综合网老头| 在线观看视频一区二区欧美日韩| 亚洲欧美国产三级| 91视频在线观看| 亚洲人吸女人奶水| 91毛片在线观看| 亚洲综合自拍偷拍| 欧美综合亚洲图片综合区| 一区二区三区中文免费| 91丨porny丨国产|