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

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

?? mail.c

?? cygwin環境編譯,saac登陸服務端,石器2最新代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
                         savefile, strerror(errno ));                } else {                    log( "回復郵件: 刪除郵件 "                         "%u 從 %s(%s) to %s(%s)\n",                         mailbuf[i].message_id,                         mailbuf[i].id_from,                         mailbuf[i].charname_from,                         mailbuf[i].id_to,                         mailbuf[i].charname_to );                }                memset( &mailbuf[i], 0 , sizeof( mailbuf[0] ));                return;            } else {                log( "回復郵件: 無用信息或ID或名稱或聲明嚴重錯誤" );                log( "use[%d] h[%d][%d] id[%s][%s] nm[%s][%s] st[%d]\n",                     mailbuf[i].use, mailbuf[i].id_charname_hash, h,                     mailbuf[i].id_to, id,                     mailbuf[i].charname_to, charname,                     mailbuf[i].state);            }        }    }    log( "回復郵件: 郵件 %u 不能從 %s(%s) 找到\n",         mesgid, id,charname );}void flushMail( int fd,           char *id,           char *charname ){    int i,c=0;    unsigned int h ;    char id_charname[1000];#define MAX_FLUSH_MAIL 1024    int flush_index[MAX_FLUSH_MAIL];    int flush_i=0;    snprintf( id_charname, sizeof( id_charname ) , "%s_%s", id, charname );    h = hashpjw( id_charname );    // Nuke +1    log("郵件緩沖大小:%d (%s)\n",mailbufsize,chartime());    // Nuke *1    for(i=0;(i<mailbufsize)&&(i<MAX_FLUSH_MAIL);i++){        if( mailbuf[i].id_charname_hash == h &&            mailbuf[i].use &&            strcmp( mailbuf[i].id_to , id ) == 0 &&            strcmp( mailbuf[i].charname_to, charname ) == 0 ){            log( "消息ID:%u\n", mailbuf[i].message_id );            flush_index[flush_i++] = i;            c++;        }    }    for(i=0; i< flush_i ; i++ ){        int j;        for(j=0; j < flush_i-1 ; j++ ){            if( mailbuf[flush_index[j]].message_id >                mailbuf[flush_index[j+1]].message_id ){                int sw = flush_index[j];                flush_index[j] = flush_index[j+1];                flush_index[j+1] = sw;                log( "inverted %d and %d in %d \n", flush_index[j],                     flush_index[j+1], j );            }        }    }    /*   端卞霜耨允月 */    for(i=0;i< flush_i; i++ ){        /* flush 及樺寧反}flush毛霜耨仄化五兇必□丞扔□田□卞           覆仄化分仃霜耨允木壬中中 */        saacproto_Message_send( fd,                                mailbuf[flush_index[i]].id_from,                                mailbuf[flush_index[i]].charname_from,                                mailbuf[flush_index[i]].id_to,                                mailbuf[flush_index[i]].charname_to,                                mailbuf[flush_index[i]].text,                                mailbuf[flush_index[i]].option,                                mailbuf[flush_index[i]].message_id );        mailbuf[flush_index[i]].state = MS_WAIT_ACK;        log( "分類郵件ID:%u\n",                mailbuf[flush_index[i]].message_id );    }    // Nuke *1    log( "郵件: 發送 %d 封郵件到 %s(%s)(%s)\n", c, id, charname ,chartime());}// Nuke start: To expire undelivered mail#define MAIL_EXPIRE_TIME 3600voidexpireMail(){    int i,c=0;    unsigned int h ;    char id_charname[1000];    time_t now=time(NULL);        /* 1莢及flush 匹霜耨允月    醒 */#define MAX_FLUSH_MAIL 1024    int flush_index[MAX_FLUSH_MAIL];    int flush_i=0;    // Nuke +1    log("郵件緩沖大小:%d (%s)\n",mailbufsize,chartime());    // Nuke *1    for(i=0;(i<mailbufsize)&&(i<MAX_FLUSH_MAIL);i++){        if(mailbuf[i].use && (now - mailbuf[i].recv_time >= MAIL_EXPIRE_TIME)) {            log( "消息ID:%u 已過期\n", mailbuf[i].message_id );            flush_index[flush_i++] = i;            c++;        }    }    /*   端卞霜耨允月 */    for(i=0;i< flush_i; i++ ){                snprintf( id_charname, sizeof( id_charname), "%s_%s",         	mailbuf[flush_index[i]].id_to,         	mailbuf[flush_index[i]].charname_to );        h = hashpjw( id_charname ) & 0xff ;	{            char savefile[1024];            char childname[1000];            snprintf( childname,sizeof(childname),"%u",            	mailbuf[flush_index[i]].message_id );            makeDirFilename( savefile, sizeof(savefile),maildir,            	h, childname );            if( unlink( savefile ) != 0 ){                log( "failed to unlink %s: %s\n",                savefile, strerror(errno ));            } else {                log( "過期郵件: 刪除游戲 "                	"%u 從 %s(%s) 到 %s(%s)\n",                        mailbuf[flush_index[i]].message_id,                        mailbuf[flush_index[i]].id_from,                        mailbuf[flush_index[i]].charname_from,                        mailbuf[flush_index[i]].id_to,                        mailbuf[flush_index[i]].charname_to );            }            memset( &mailbuf[flush_index[i]], 0 , sizeof( mailbuf[0] ));	}    }    // Nuke *1    log( "過期郵件: 過期 %d 消息 (%s)\n", c ,chartime());}int readMail( char *dir ){    int i, read_count=0;    for( i=0; i<256; i++){        char dirname[1000];        DIR *d;        snprintf(dirname, sizeof( dirname ), "%s/0x%x", dir, i );        d = opendir(dirname);        if(d == NULL ){			mkdir( dirname, 0755);			log("創建 %s\n", dirname);            continue;        }        while(1){            struct dirent *de;                    de = readdir( d );            if( de == NULL )break;            if( de->d_name[0] != '.' ){                char filename[1000];                FILE *fp;                struct stat s;                snprintf( filename, sizeof( filename),                          "%s/%s", dirname, de->d_name );                if( stat( filename, &s ) < 0 ){                    continue;                }                if( !(s.st_mode & S_IFREG)) continue;                fp = fopen( filename, "r" );                if( fp == NULL ){                    log( "不能打開文件 %s %s\n",filename,strerror(errno));                    continue;                }                {                    char line[16384];                    char toid[1000] , fromid[1000];                    char tochar[CHARNAME_MAX*2+1];                    char fromchar[CHARNAME_MAX*2+1];                    char text[TEXT_MAX*2+1];                    int opt=0;                    toid[0] = fromid[0] = tochar[0] =                        fromchar[0] = text[0] = 0;                    fgets( line, sizeof(line), fp );                                        chop(line);                    if( strncmp( TO_ID_HEAD , line, strlen(TO_ID_HEAD) )==0){                        snprintf( toid , sizeof( toid ),"%s",                                  line+strlen(TO_ID_HEAD ));                    }                    fgets( line, sizeof( line ), fp );                    chop(line);                    if( strncmp( TO_CHAR_HEAD, line,strlen(TO_CHAR_HEAD))==0){                        snprintf( tochar, sizeof( tochar ), "%s",                                  line+strlen( TO_CHAR_HEAD ));                        makeStringFromEscaped( tochar );                    }                    fgets( line, sizeof( line ),fp );                    chop(line);                                        if( strncmp( FROM_ID_HEAD,line,strlen(FROM_ID_HEAD))==0){                        snprintf( fromid, sizeof( fromid ),"%s",                                  line + strlen( FROM_ID_HEAD ));                    }                    fgets( line,sizeof(line),fp);                    chop(line);                                        if(strncmp(FROM_CHAR_HEAD,line,strlen(FROM_CHAR_HEAD))==0){                        snprintf( fromchar, sizeof( fromchar ),                                  line + strlen(FROM_CHAR_HEAD ));                        makeStringFromEscaped( fromchar );                    }                    fgets( line,sizeof(line),fp);                    chop(line);                                        if( strncmp( OPTION_HEAD,line, strlen(OPTION_HEAD))==0){                        opt = atoi( line + strlen( OPTION_HEAD ) );                    }					fgets( line, sizeof( line),fp);                    chop(line);                                        if( strncmp(TEXT_HEAD,line,strlen(TEXT_HEAD))==0){                        snprintf( text, sizeof( text), "%s",                                  line + strlen( TEXT_HEAD ));                        makeStringFromEscaped( text );                    }                    if( toid[0] == 0 || fromid[0] == 0 ||                        tochar[0] == 0 || fromchar[0] == 0 ||                        text[0] == 0 ){                        log( "有問題郵件! %s 接收ID[%c] 接收名字[%c]"                             " 發送ID[%c] 發送名字[%c] 文本[%c]\n",                             filename,                             toid[0], tochar[0], fromid[0], fromchar[0],                             text[0] );                        // Nuke +1 1027: Close for safe                        fclose(fp);                        continue;                    }                    receiveMail( fromid, fromchar,                                 toid, tochar,                                 text, opt , 1,                                 strtoul(de->d_name,NULL,10));                    read_count++;                                    }                fclose(fp);            }        }        closedir(d);    }    log( "讀取郵件: 在'%s'目錄里讀取到 %d 封郵件 \n", dir, read_count );    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久毛片| 樱花影视一区二区| 国产精品另类一区| 亚洲伊人伊色伊影伊综合网| 久久99精品久久只有精品| 91免费版在线| 国产亚洲欧美日韩日本| 五月天国产精品| 不卡视频一二三| 久久奇米777| 奇米影视在线99精品| 欧美自拍偷拍午夜视频| 中国av一区二区三区| 久久99精品久久久久久动态图| 91久久精品网| 亚洲欧美成人一区二区三区| 国产成人免费xxxxxxxx| 精品国产乱子伦一区| 午夜视频一区在线观看| 色综合天天天天做夜夜夜夜做| 久久久99免费| 国产一区二区三区蝌蚪| 日韩一区二区三区电影在线观看| 一区二区三区在线视频免费| 不卡一区二区在线| 国产精品网站在线观看| 国产高清视频一区| 久久久久久久综合日本| 国产乱对白刺激视频不卡| 日韩欧美区一区二| 久久99热99| 日韩精品资源二区在线| 九九久久精品视频| 久久久www成人免费毛片麻豆 | 久久久久99精品国产片| 精品一区二区在线视频| 日韩久久免费av| 国内精品伊人久久久久av影院 | 亚洲午夜久久久久久久久久久| 91色乱码一区二区三区| 亚洲欧美国产三级| 91黄色激情网站| 亚洲一区二区黄色| 制服视频三区第一页精品| 午夜成人免费视频| 欧美精品一区二区三区在线| 精品一区二区在线播放| 国产免费观看久久| 91啦中文在线观看| 天堂影院一区二区| 久久嫩草精品久久久精品一| 国产丶欧美丶日本不卡视频| 中文字幕 久热精品 视频在线| 91日韩一区二区三区| 亚洲成人综合在线| 久久人人爽人人爽| 色综合久久66| 久久不见久久见中文字幕免费| wwwwww.欧美系列| 99久久婷婷国产综合精品| 亚洲成人av一区| 久久久久99精品国产片| 色综合一区二区三区| 午夜精品一区二区三区三上悠亚| 日韩欧美亚洲国产另类 | 激情小说亚洲一区| 中文字幕一区二区三区在线不卡 | www.在线成人| 亚洲成a人v欧美综合天堂 | 国产精品中文字幕欧美| 亚洲人123区| 精品久久一二三区| 色综合久久中文综合久久97| 美国av一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 久久久噜噜噜久久人人看| 99vv1com这只有精品| 日韩电影免费在线观看网站| 欧美激情一区二区在线| 欧美日韩小视频| eeuss鲁一区二区三区| 精品一区二区在线播放| 亚洲一区二区三区四区中文字幕| 久久久久国产精品厨房| 7777精品伊人久久久大香线蕉的| 丁香一区二区三区| 蜜桃av一区二区三区| 一区二区三区在线视频免费| 国产婷婷一区二区| 欧美成人精精品一区二区频| 欧美中文字幕不卡| 暴力调教一区二区三区| 国产精品夜夜嗨| 喷白浆一区二区| 亚洲aⅴ怡春院| 一区二区欧美精品| 亚洲天堂中文字幕| 亚洲国产精品精华液ab| 精品国内片67194| 日韩精品一区二区在线| 欧美群妇大交群中文字幕| 91久久国产最好的精华液| a级精品国产片在线观看| 国产成a人亚洲精| 黄网站免费久久| 理论电影国产精品| 久久精品99国产国产精| 日韩精品高清不卡| 日韩激情一二三区| 日韩电影免费一区| 青青草97国产精品免费观看| 日韩精品电影在线| 日韩和欧美一区二区| 亚洲123区在线观看| 五月激情综合色| 午夜精品久久久久久久| 亚洲午夜影视影院在线观看| 亚洲图片欧美色图| 亚洲超碰97人人做人人爱| 亚洲免费观看高清完整版在线观看熊 | 日本一区二区成人在线| 亚洲国产精品成人综合| 国产精品私房写真福利视频| 国产精品午夜在线观看| 亚洲欧美综合另类在线卡通| 亚洲欧美成aⅴ人在线观看| 亚洲精品国久久99热| 午夜精品在线看| 蜜桃一区二区三区在线| 国产一区二区精品在线观看| 成人美女在线观看| 色综合天天综合| 欧美肥大bbwbbw高潮| 日韩美女天天操| 国产精品视频yy9299一区| 亚洲天堂免费看| 日本aⅴ免费视频一区二区三区| 麻豆freexxxx性91精品| 懂色av中文字幕一区二区三区| eeuss鲁片一区二区三区| 欧美日韩在线精品一区二区三区激情| 欧美高清视频www夜色资源网| 欧美mv日韩mv国产网站| 国产精品久久看| 日韩电影在线看| 国产a区久久久| 欧美日韩一区高清| 欧美精品一区二区三区蜜桃视频| 国产精品网曝门| 日韩av成人高清| 99久久精品免费观看| 91精品国产手机| 亚洲欧洲三级电影| 日韩影院在线观看| 99国产精品99久久久久久| 91精品国产综合久久久蜜臀图片| 日本一区二区三区免费乱视频 | 欧美美女黄视频| 国产日韩欧美高清在线| 亚洲国产视频直播| 激情综合色综合久久| 欧洲人成人精品| 中文字幕av一区二区三区免费看| 日韩激情视频网站| 色婷婷精品久久二区二区蜜臂av | 一区二区三区在线观看网站| 久久www免费人成看片高清| 在线精品国精品国产尤物884a| 日韩久久久精品| 午夜精品久久久久| 色哟哟在线观看一区二区三区| 久久综合九色综合97婷婷女人| 亚洲午夜在线电影| 91丝袜美女网| 国产三级欧美三级| 久久精品999| 91精品国产欧美一区二区18| 亚洲免费视频中文字幕| 国产精品影视天天线| 欧美一级专区免费大片| 一区二区在线观看视频在线观看| 国产一区二区视频在线播放| 欧美日本国产视频| 亚洲国产一区二区三区| 色综合久久88色综合天天6 | 2020国产精品| 日欧美一区二区| 欧美午夜片在线观看| 亚洲男女一区二区三区| 成人app网站| **欧美大码日韩| 91小视频在线| 亚洲欧美自拍偷拍| 99riav一区二区三区| 国产精品日韩精品欧美在线| 成人中文字幕电影| 欧美激情中文不卡| 91网站最新地址| 一级日本不卡的影视| 色88888久久久久久影院野外|