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

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

?? log.cpp.svn-base

?? sigmadesign smp8623 gui source code ,bingo
?? SVN-BASE
字號:
/* ------------------------------------------------------------------------- * log.cpp - logging functions * Copyright (C) 2008 Dimitar Atanasov <datanasov@deisytechbg.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * ------------------------------------------------------------------------- */#include <stdio.h>#include <unistd.h>#include <semaphore.h>#include <stdarg.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <time.h>#include <pthread.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include "log.h"#include "util.h"/* Allows printf()-like interface to file descriptors without the * complications that arise from mixing stdio and low level calls * FIXME: Needs date and time before logfile entries. */int log_t::lprintf( unsigned int level, const char *fmt, ... ) {    int rc;    va_list ap;    time_t now;    char date[50];    static char line[LOGLINE_MAX];    static char threadnum[10];    int cnt;    static const char *levels[8] = {   "[(bad)] ",									   "[debug] ",									   "[info ] ",									   "[warn ] ",									   "[error] ",									   "[fatal] ",									   "[send ] ",									   "[recv ] "};//    if(!log) return -1;    /* If this is debug info, and we're not logging it, return */    if( !(flags & LOG_DEBUG) && level == DEBUG ) return 0;    /* Prepare the date string */    if( !(flags & LOG_NODATE) ) {        now = time(NULL);        strcpy(date, ctime(&now));        date[strlen(date) - 6] = ' ';        date[strlen(date) - 5] = '\0';    }    if( !(flags & LOG_NOTID) ) {        sprintf(threadnum, "(%lu) ", pthread_self());    }    cnt = snprintf(line, sizeof(line), "%s%s%s", flags & LOG_NODATE ? "" : date,                   								 flags & LOG_NOLVL  ? "" : (level > RECV ? levels[0] : levels[level]),                   								 flags & LOG_NOTID  ? "" : threadnum);    va_start(ap, fmt);    vsnprintf(line+cnt, sizeof(line)-cnt, fmt, ap);    va_end(ap);    line[sizeof(line)-1] = '\0';    if( !(flags & LOG_NOLF) ) {        chomp(line);        strcpy(line+strlen(line), "\n");    }    sem_wait(&sem);    rc = write(fd, line, strlen(line));    if( (flags & LOG_STDERR) == LOG_STDERR && fd != 2)    	write(2, line, strlen(line));    sem_post(&sem);    if( !rc ) errno = 0;    return rc;}void log_t::rotate(int nLogFlags, const char* pszFileName){	sem_wait(&sem);	close(fd);	if( !strcmp(pszFileName,"-") ) {		fd = 2;	} else {		fd = open(pszFileName, O_WRONLY|O_CREAT|O_NOCTTY | (flags & LOG_TRUNC ? O_TRUNC : O_APPEND) , 0666);	}	try {		if( fd == -1 ) {			fprintf(stderr, "log_open: Opening logfile %s: %s", pszFileName, strerror(errno));		}		if( sem_init(&sem, 0, 1) == -1 ) {			fprintf(stderr, "log_open: Could not initialize log semaphore.");			throw 1;		}	}	catch(...)	{		close(fd);	}	sem_post(&sem);}log_t::log_t(int nLogFlags, const char* pszFileName) : flags(nLogFlags){   // log_t *log = (log_t*)malloc(sizeof(log_t)); //   flags = LOG_FLAGS;    if( !strcmp(pszFileName,"-") ) {        fd = 2;    } else {        fd = open(pszFileName, O_WRONLY|O_CREAT|O_NOCTTY | (flags & LOG_TRUNC ? O_TRUNC : O_APPEND) , 0666);    }    try {    	if( fd == -1 ) {        	fprintf(stderr, "log_open: Opening logfile %s: %s", pszFileName, strerror(errno));    	}    	if( sem_init(&sem, 0, 1) == -1 ) {        	fprintf(stderr, "log_open: Could not initialize log semaphore.");        	throw 1;    	}	}	catch(...)	{		close(fd);	}}log_t::~log_t() {    sem_wait(&sem);    sem_destroy(&sem);    close(fd); //   free(log);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区不卡| 老司机午夜精品99久久| 伊人开心综合网| 亚洲精品成a人| 日韩vs国产vs欧美| 国产一区二区毛片| 色婷婷国产精品综合在线观看| 在线观看视频91| 亚洲精品一线二线三线| 亚洲天堂精品在线观看| 日本亚洲最大的色成网站www| 国产99久久久精品| 欧美日韩国产乱码电影| 国产清纯在线一区二区www| 亚洲一区二区3| 久久99这里只有精品| 91福利在线导航| 欧美韩日一区二区三区| 日韩国产欧美三级| 93久久精品日日躁夜夜躁欧美| 欧美一区二区三区公司| 亚洲女与黑人做爰| 国产精品一区二区你懂的| 成人ar影院免费观看视频| 91精品国产丝袜白色高跟鞋| 亚洲三级电影全部在线观看高清| 樱桃视频在线观看一区| 国产成人午夜99999| 日韩欧美卡一卡二| 午夜免费久久看| 91视频你懂的| 欧美高清在线视频| 国产在线不卡一区| 国产在线国偷精品免费看| 日韩av一级片| 色噜噜狠狠一区二区三区果冻| www国产成人免费观看视频 深夜成人网| 亚洲欧美激情在线| 99久久精品99国产精品| 国产色产综合色产在线视频| 国产老肥熟一区二区三区| 在线电影国产精品| 亚洲123区在线观看| 91麻豆.com| 国产精品丝袜91| 成人永久免费视频| 国产日韩一级二级三级| 国产电影一区在线| 国产欧美一区二区精品秋霞影院 | 精品视频一区二区不卡| 亚洲精品免费在线观看| 国产99久久久国产精品潘金 | 欧美日韩成人综合天天影院| 一区二区三区av电影| 91精品91久久久中77777| 亚洲欧美激情插| 成人av资源在线观看| 久久se精品一区精品二区| 日韩制服丝袜av| 色综合一区二区三区| 国产午夜亚洲精品不卡| 北岛玲一区二区三区四区| 亚洲一区二区三区四区五区中文| 欧美网站一区二区| 国产一区二区三区综合| 亚洲人成电影网站色mp4| 欧美福利电影网| 国产酒店精品激情| 亚洲成人激情av| 国产午夜亚洲精品理论片色戒| 在线一区二区三区四区五区 | 日韩免费电影一区| 成人在线视频首页| 奇米四色…亚洲| 国产精品久久久久久妇女6080 | 欧美一区二区在线免费播放| 国产美女精品一区二区三区| 一区二区三区四区不卡视频 | 风间由美中文字幕在线看视频国产欧美| 欧美激情综合网| 欧美日韩成人一区| 972aa.com艺术欧美| 美腿丝袜亚洲三区| 亚洲午夜精品久久久久久久久| 久久五月婷婷丁香社区| 欧美日韩欧美一区二区| 99久久精品久久久久久清纯| 卡一卡二国产精品 | 日韩中文字幕一区二区三区| 中文字幕国产一区| 精品国产区一区| 欧美日本在线播放| 91性感美女视频| 成人av动漫网站| 国产精品99久久久| 狠狠色丁香婷婷综合| 日韩电影在线一区二区三区| 亚洲乱码中文字幕| 精品成人在线观看| 色女孩综合影院| 亚洲欧洲精品一区二区精品久久久 | 精品盗摄一区二区三区| 欧美日本不卡视频| 欧美网站一区二区| 色婷婷久久综合| 538prom精品视频线放| 一本在线高清不卡dvd| 成人黄色电影在线| 国产91丝袜在线播放九色| 久久66热偷产精品| 激情五月播播久久久精品| 日本视频一区二区三区| 三级影片在线观看欧美日韩一区二区| 亚洲理论在线观看| 亚洲少妇屁股交4| 亚洲免费av在线| 一区二区三区精品视频在线| 亚洲三级免费观看| 亚洲欧美一区二区三区孕妇| 中文字幕在线不卡国产视频| 亚洲欧美一区二区三区国产精品 | 不卡一区二区中文字幕| 欧美激情在线看| 欧美激情中文字幕一区二区| 中文字幕欧美三区| 亚洲视频在线观看三级| 一区二区免费在线播放| 亚洲国产综合91精品麻豆| 午夜精品免费在线| 美女尤物国产一区| 国产伦精品一区二区三区视频青涩 | 国产精品视频你懂的| 中文字幕一区二区三区不卡| 亚洲欧美日韩一区二区 | 97aⅴ精品视频一二三区| 欧美一区二区在线观看| 成人免费黄色大片| 91麻豆视频网站| 欧美视频你懂的| 精品久久久久99| 国产精品你懂的在线| 亚洲亚洲精品在线观看| 麻豆精品在线观看| 成人app在线| 欧美精品亚洲一区二区在线播放| 91精选在线观看| 久久精品在这里| 亚洲综合一区二区| 精品一区二区三区久久| 成人h精品动漫一区二区三区| 日韩欧美综合在线| 国产三级三级三级精品8ⅰ区| 一区二区三区四区五区视频在线观看| 午夜欧美电影在线观看| 成人污污视频在线观看| 3d动漫精品啪啪一区二区竹菊| 国产亚洲视频系列| 午夜激情一区二区三区| 国产ts人妖一区二区| 欧美精品三级日韩久久| 国产精品国产精品国产专区不片| 偷拍一区二区三区四区| av不卡免费电影| 欧美电视剧免费全集观看| 一区二区三区精品| 国内国产精品久久| 欧美日韩在线免费视频| 国产三级一区二区| 美腿丝袜亚洲综合| 欧美三级日韩三级| 亚洲特级片在线| 国产成人免费视| 欧美mv和日韩mv国产网站| 又紧又大又爽精品一区二区| 国产 日韩 欧美大片| 日韩欧美一区二区久久婷婷| 夜夜嗨av一区二区三区四季av| 国产丶欧美丶日本不卡视频| 欧美一区二区三区免费观看视频| 亚洲精品一二三四区| 成人美女在线观看| 国产午夜精品一区二区三区四区| 欧美aaa在线| 91精品国产麻豆| 午夜精品久久久久| 欧美无乱码久久久免费午夜一区| 亚洲少妇中出一区| 91麻豆swag| 亚洲天堂网中文字| 不卡的av中国片| 国产精品久久久久久福利一牛影视 | 亚洲欧美综合另类在线卡通| 国产精品一区二区三区99| 精品国产乱码久久久久久闺蜜| 污片在线观看一区二区| 欧美亚洲综合在线| 亚洲成人av一区| 欧美日韩免费观看一区三区| 亚洲综合激情小说| 欧美日韩综合在线免费观看|