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

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

?? configfile.cpp

?? Conferencing code using Dialogic hardware
?? CPP
字號:
/**********@@@SOFT@@@WARE@@@COPY@@@RIGHT@@@**********************************
* DIALOGIC CONFIDENTIAL
*
* Copyright (C) 2006-2007 Dialogic Corporation. All Rights Reserved.
* The source code contained or described herein and all documents related
* to the source code ("Material") are owned by Dialogic Corporation or its
* suppliers or licensors. Title to the Material remains with Dialogic Corporation
* or its suppliers and licensors. The Material contains trade secrets and
* proprietary and confidential information of Dialogic or its suppliers and
* licensors. The Material is protected by worldwide copyright and trade secret
* laws and treaty provisions. No part of the Material may be used, copied,
* reproduced, modified, published, uploaded, posted, transmitted, distributed,
* or disclosed in any way without Dialogic's prior express written permission.
*
* No license under any patent, copyright, trade secret or other intellectual
* property right is granted to or conferred upon you by disclosure or delivery
* of the Materials, either expressly, by implication, inducement, estoppel or
* otherwise. Any license under such intellectual property rights must be
* express and approved by Dialogic in writing.
*
***********************************@@@SOFT@@@WARE@@@COPY@@@RIGHT@@@**********/
//***********************************************************************
//***********************************************************************
// ConfigFile.cpp: implementation of the ConfigFile class.
//
//////////////////////////////////////////////////////////////////////
// ignore MSC2005 fopen/fopen_s security warning
#define _CRT_SECURE_NO_WARNINGS
#include <fcntl.h>
#undef _CRT_SECURE_NO_WARNINGS

#include <ctype.h>
#include "utils.h"
#include "ConfigFile.h"


static const 
#ifdef LINUX
 __attribute__ ((unused)) 
#endif
 char * CNF_MODULE_NAME = "ConfigFile";


//-----------------------------------------------------------
// return error text by error code ( see CFG_ERROR )
// typedef enum {
//    CFG_OK, CFG_ERR_OPEN,  CFG_ERR_FORMAT,   CFG_ERR_LAST
// }CFG_ERROR;
static const char *errors[] = {
    "OK", "FILE_OPEN_ERR", "FILE_READ_ERR","FILE_FORMAT_ERR", "????"
};

//*****************************************************************************
// Purpose	: 
//    Return text for given error code
// Parameters:	
//    [in] error code
// Returns:	const char * - message for specified code or "????" 
//*****************************************************************************
const char *cfg_get_errormsg(CFG_ERROR error){
    if (error > CFG_ERR_LAST) {
        error = CFG_ERR_LAST;
    }
 return errors[error];
}  //	End of function()


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//*****************************************************************************
// Purpose	: 
//    Constructor
// Parameters:	
//    none
// Returns:	none
//*****************************************************************************
ConfigFile::ConfigFile(CGenLog *pLog):
            CParser(pLog) {
  m_file_name = 0;
  m_file_buf = 0;
  DeleteBuffer();
}  //	End of constructor()

//*****************************************************************************
// Purpose	: 
//    Destructor
// Parameters:	
//    none
// Returns:	none
//*****************************************************************************
ConfigFile::~ConfigFile() {
  DeleteBuffer();
}  //	End of destructor()


//*****************************************************************************
// Purpose	: 
//    release all buffers and init internal variables
// Parameters:	
//    none
// Returns:	void
//*****************************************************************************
void ConfigFile::DeleteBuffer(){
	ClearBuffer();
	delete[] m_file_buf;
	m_file_buf = 0;
    str_deletestoredstring(&m_file_name);
}  //	End of DeleteBuffer()

//*****************************************************************************
// Purpose	: 
//    Load file content into internal buffer
// Parameters:	
//    [in] file name
// Returns:	error code (CFG_ERROR)
//*****************************************************************************
CFG_ERROR ConfigFile::LoadConfigFile(const char *FileName){
CFG_ERROR rc = CFG_OK;

    // if same file is already loaded, 
    if (COMPARE_EQUAL == str_compare(FileName, m_file_name) ){
        Rewind();
        return CFG_OK;
    }

	FILE * fstr = fopen(FileName, "rb");
	if ( fstr == 0 ) {
            rc =  CFG_ERR_OPEN;
    } else {
        // Get file length
	    size_t length;
	    fseek(fstr, 0, SEEK_END);
	    length = ftell(fstr);
	    fseek(fstr, 0 ,SEEK_SET);
	
        // delete previosely stored data and release memory
        DeleteBuffer();

        // Allocate buffer
    	m_file_buf = new char[length +1];
	    if( fread(m_file_buf, sizeof(char), length, fstr) != length) {
            // Error reading
            DeleteBuffer();
            rc = CFG_ERR_READ;
        } else {
			SetBuffer(m_file_buf);
            // Read Ok
       	    *(m_file_buf + length) = 0;
            // this is current configuration file
            str_storestring(&m_file_name, FileName);
            Rewind();
        } // else - read Ok
      fclose(fstr);
    } // else - file opned
  return rc;
}  //	End of LoadConfigFile()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久婷婷国产综合精品电影| 亚洲欧美视频在线观看视频| 免费一级片91| 日韩欧美国产综合一区| 日韩av在线播放中文字幕| 6080日韩午夜伦伦午夜伦| 日韩成人dvd| 久久久久久久综合色一本| 高清久久久久久| 一个色在线综合| 欧美肥妇free| 国产精品原创巨作av| 1024成人网| 欧美精品v国产精品v日韩精品| 蜜臂av日日欢夜夜爽一区| 久久奇米777| 在线欧美一区二区| 精品制服美女久久| 中文字幕色av一区二区三区| 欧美日韩高清在线| 国内精品伊人久久久久av一坑 | 国产精品天天看| 色国产综合视频| 蜜桃av一区二区三区| 国产精品人妖ts系列视频| 在线精品观看国产| 国产精品小仙女| 一区二区三区欧美视频| 精品剧情在线观看| 日本韩国精品一区二区在线观看| 美腿丝袜亚洲色图| 亚洲人成网站影音先锋播放| 91麻豆精品国产91久久久久久| 国产黑丝在线一区二区三区| 亚洲二区在线视频| 国产欧美日韩三区| 91精品国产综合久久久蜜臀粉嫩 | 亚洲综合成人网| 久久一日本道色综合| 欧美日韩精品一区二区在线播放| 国产99精品国产| 久久精品国产在热久久| 亚洲一区在线看| 亚洲视频一区二区在线观看| 欧美不卡在线视频| 欧美日韩一区视频| 99久久伊人精品| 粉嫩一区二区三区性色av| 同产精品九九九| 亚洲亚洲人成综合网络| 亚洲欧美在线另类| 久久精品人人爽人人爽| 欧美一区午夜视频在线观看| 欧美视频一区二| 一本一道综合狠狠老| 国产成人精品一区二区三区四区 | 成人精品国产免费网站| 婷婷六月综合网| 亚洲国产一区二区三区青草影视| 国产精品久久99| 国产女主播一区| 久久久久久久久99精品| 欧美一级xxx| 欧美一区二区三区在线看| 欧美日韩中文一区| 欧美三级电影网| 欧美美女黄视频| 欧美日韩一区二区三区四区 | 成人app下载| 丰满白嫩尤物一区二区| 国产69精品一区二区亚洲孕妇| 国产一区在线看| 国产夫妻精品视频| 成人理论电影网| caoporn国产精品| av不卡免费电影| 色综合网站在线| 色网站国产精品| 欧美色窝79yyyycom| 欧美性videosxxxxx| 制服丝袜国产精品| 欧美一区在线视频| 日韩一级成人av| 精品国产一区二区精华| 精品久久人人做人人爱| 久久欧美中文字幕| 中文字幕va一区二区三区| 中文字幕日韩欧美一区二区三区| 中文字幕一区二区5566日韩| 亚洲少妇屁股交4| 亚洲欧美日韩人成在线播放| 亚洲综合免费观看高清在线观看| 午夜欧美一区二区三区在线播放| 日本欧美在线观看| 国产毛片一区二区| 99精品一区二区三区| 欧洲精品一区二区三区在线观看| 欧美日韩激情在线| 精品国产凹凸成av人导航| 国产午夜亚洲精品羞羞网站| 成人欧美一区二区三区小说 | 中文子幕无线码一区tr| 日韩一区在线看| 视频一区国产视频| 韩日av一区二区| 色综合夜色一区| 日韩一区二区精品在线观看| 国产日韩成人精品| 尤物在线观看一区| 久久99精品久久久久久久久久久久| 国产高清视频一区| 91九色最新地址| 麻豆国产精品视频| 国产精品色噜噜| 亚洲chinese男男1069| 久久99国产乱子伦精品免费| 91在线视频播放地址| 欧美肥妇free| 中文字幕一区二区三区av| 日本91福利区| 99天天综合性| 精品国产伦一区二区三区免费 | 亚洲成人在线免费| 国产成人日日夜夜| 欧美欧美午夜aⅴ在线观看| 久久亚洲一级片| 日本成人中文字幕| 色综合一区二区三区| 亚洲精品在线观看视频| 亚洲福利电影网| 91在线观看一区二区| 日韩一区二区精品在线观看| 亚洲美女屁股眼交| 国产精品77777| 欧美一卡2卡3卡4卡| 亚洲另类春色国产| 国产精品一区2区| 69堂国产成人免费视频| 亚洲精品视频自拍| 国产精品亚洲成人| 91精品国产综合久久福利软件 | 免费精品99久久国产综合精品| 91女厕偷拍女厕偷拍高清| 久久网这里都是精品| 日本亚洲天堂网| 欧美日韩在线一区二区| 亚洲乱码国产乱码精品精98午夜 | 裸体歌舞表演一区二区| 欧美主播一区二区三区| 亚洲欧美综合色| 国产91丝袜在线播放九色| 久久伊人蜜桃av一区二区| 美国三级日本三级久久99 | 欧美午夜精品一区二区蜜桃| 国产精品丝袜91| 国产传媒久久文化传媒| 国产午夜精品一区二区三区嫩草| 久久成人免费电影| 欧美精品vⅰdeose4hd| 午夜国产精品一区| 欧美午夜精品一区二区三区| 亚洲综合视频在线| 欧美做爰猛烈大尺度电影无法无天| 中文字幕亚洲不卡| 99国产一区二区三精品乱码| 日本一区二区三区dvd视频在线| 国产一区二区调教| 久久久国产精品麻豆| 国产成人精品午夜视频免费| 久久精品一区蜜桃臀影院| 国产91高潮流白浆在线麻豆 | 日韩国产欧美在线播放| 欧美日本视频在线| 日日夜夜精品视频天天综合网| 欧美日韩日日骚| 日本在线不卡一区| 91精品欧美综合在线观看最新| 日韩中文字幕1| 久久综合色一综合色88| 成人福利在线看| 亚洲嫩草精品久久| 欧美日产在线观看| 激情综合网av| 欧美韩日一区二区三区四区| 99久久国产综合色|国产精品| 亚洲综合精品久久| 欧美一级精品在线| 从欧美一区二区三区| 国产精品成人网| 欧美午夜精品一区| 久久成人久久爱| 亚洲国产成人午夜在线一区| 91在线视频网址| 日本欧美一区二区三区| 久久精品免视看| 91黄视频在线观看| 久久精品国产第一区二区三区| 国产精品素人视频| 欧美久久久久久蜜桃| 国产精品456露脸|