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

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

?? cygwinplatformutils.cpp

?? IBM的解析xml的工具Xerces的源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright 2004,2004 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Log: CygwinPlatformUtils.cpp,v $ * Revision 1.2  2004/09/08 13:56:39  peiyongz * Apache License Version 2.0 * * Revision 1.1  2004/02/17 15:56:50  neilg * fix for bug 25035; much thanks to Abe Backus * * */// ---------------------------------------------------------------------------//  Includes// ---------------------------------------------------------------------------#if !defined(APP_NO_THREADS)#include    <windows.h>#endif#ifndef _GNU_SOURCE    #error _GNU_SOURCE is not defined in your compile settings#endif#include    <unistd.h>#include    <stdio.h>#include    <stdlib.h>#include    <errno.h>#include    <sys/timeb.h>#include    <sys/cygwin.h>#include    <string.h>#include    <xercesc/util/PlatformUtils.hpp>#include    <xercesc/util/RuntimeException.hpp>#include    <xercesc/util/Janitor.hpp>#include    <xercesc/util/Mutexes.hpp>#include    <xercesc/util/XMLString.hpp>#include    <xercesc/util/XMLUniDefs.hpp>#include    <xercesc/util/XMLUni.hpp>#include    <xercesc/util/PanicHandler.hpp>#include    <xercesc/util/OutOfMemoryException.hpp>#if defined(XML_USE_ICU_TRANSCODER)    #include <xercesc/util/Transcoders/ICU/ICUTransService.hpp>#elif defined (XML_USE_GNU_TRANSCODER)    #include <xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp>#elif defined (XML_USE_CYGWIN_TRANSCODER)    #include <xercesc/util/Transcoders/Cygwin/CygwinTransService.hpp>#else    // Use native transcoder. Same as -DXML_USE_NATIVE_TRANSCODER    #include <xercesc/util/Transcoders/Iconv/IconvTransService.hpp>#endif#if defined(XML_USE_ICU_MESSAGELOADER)    #include <xercesc/util/MsgLoaders/ICU/ICUMsgLoader.hpp>#elif defined (XML_USE_ICONV_MESSAGELOADER)    #include <xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp>#else    // Same as -DXML_USE_INMEM_MESSAGELOADER    #include <xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp>#endif#if defined (XML_USE_NETACCESSOR_LIBWWW)    #include <xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.hpp>#elif defined (XML_USE_NETACCESSOR_SOCKET)    #include <xercesc/util/NetAccessors/Socket/SocketNetAccessor.hpp>#endifXERCES_CPP_NAMESPACE_BEGIN// ---------------------------------------------------------------------------//  XMLPlatformUtils: Private Static Methods// ---------------------------------------------------------------------------XMLNetAccessor* XMLPlatformUtils::makeNetAccessor(){#if defined (XML_USE_NETACCESSOR_SOCKET)    return new SocketNetAccessor();#elif defined (XML_USE_NETACCESSOR_LIBWWW)    return new LibWWWNetAccessor();#else    return 0;#endif}////  This method is called by the platform independent part of this class//  when client code asks to have one of the supported message sets loaded.//XMLMsgLoader* XMLPlatformUtils::loadAMsgSet(const XMLCh* const msgDomain){    XMLMsgLoader* retVal;    try    {#if defined (XML_USE_ICU_MESSAGELOADER)        retVal = new ICUMsgLoader(msgDomain);#elif defined (XML_USE_ICONV_MESSAGELOADER)        retVal = new MsgCatalogLoader(msgDomain);#else        // same as -DXML_USE_INMEM_MESSAGELOADER        retVal = new InMemMsgLoader(msgDomain);#endif    }    catch(const OutOfMemoryException&)    {        throw;    }    catch(...)    {        panic(PanicHandler::Panic_CantLoadMsgDomain);    }    return retVal;}////  This method is called very early in the bootstrapping process. This guy//  must create a transcoding service and return it. It cannot use any string//  methods, any transcoding services, throw any exceptions, etc... It just//  makes a transcoding service and returns it, or returns zero on failure.//XMLTransService* XMLPlatformUtils::makeTransService(){#if defined (XML_USE_ICU_TRANSCODER)    // Use ICU transcoding services.    // same as -DXML_USE_ICU_MESSAGELOADER    return new ICUTransService;#elif defined (XML_USE_GNU_TRANSCODER)    return new IconvGNUTransService;#elif defined (XML_USE_CYGWIN_TRANSCODER)    return new CygwinTransService;#else    // Use native transcoding services.    // same as -DXML_USE_NATIVE_TRANSCODER    return new IconvTransService;#endif}// ---------------------------------------------------------------------------//  XMLPlatformUtils: The panic method// ---------------------------------------------------------------------------void XMLPlatformUtils::panic(const PanicHandler::PanicReasons reason){    fgUserPanicHandler? fgUserPanicHandler->panic(reason) : fgDefaultPanicHandler->panic(reason);	}// ---------------------------------------------------------------------------//  XMLPlatformUtils: File Methods// ---------------------------------------------------------------------------////  Functions to look for Unicode forward and back slashes.//  This operation is complicated by the fact that some Japanese and Korean//    encodings use the same encoding for both '\' and their currency symbol//    (Yen or Won).  In these encodings, which is meant is context dependent.//    Unicode converters choose the currency symbols.  But in the context//    of a Windows file name, '\' is generally what was intended.////    So we make a leap of faith, and assume that if we get a Yen or Won//    here, in the context of a file name, that it originated in one of//    these encodings, and is really supposed to be a '\'.//static bool isBackSlash(XMLCh c) {    return c == chBackSlash ||           c == chYenSign   ||           c == chWonSign;}unsigned int XMLPlatformUtils::curFilePos(FileHandle theFile                                          , MemoryManager* const manager){    int curPos = ftell( (FILE*)theFile);    if (curPos == -1)        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotGetSize, manager);    return (unsigned int)curPos;}void XMLPlatformUtils::closeFile(FileHandle theFile                                 , MemoryManager* const manager){    if (fclose((FILE*)theFile))        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotCloseFile, manager);}unsigned int XMLPlatformUtils::fileSize(FileHandle theFile                                        , MemoryManager* const manager){    // Get the current position    long  int curPos = ftell((FILE*) theFile);    if (curPos == -1)        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotGetCurPos, manager);    // Seek to the end and save that value for return     if (fseek((FILE*) theFile, 0, SEEK_END))        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotSeekToEnd, manager);    long int retVal = ftell((FILE*)theFile);    if (retVal == -1)        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotSeekToEnd, manager);    // And put the pointer back    if (fseek( (FILE*)theFile, curPos, SEEK_SET) )        ThrowXMLwithMemMgr(XMLPlatformUtilsException,                 XMLExcepts::File_CouldNotSeekToPos, manager);    return (unsigned int)retVal;}FileHandle XMLPlatformUtils::openFile(const XMLCh* const fileName                                      , MemoryManager* const manager){    const char* tmpFileName = XMLString::transcode(fileName, manager);    ArrayJanitor<char> janText((char*)tmpFileName, manager);	char posix_name[PATH_MAX + 1];	cygwin_conv_to_posix_path(tmpFileName, posix_name);    FileHandle retVal = (FILE*)fopen( posix_name , "rb" );    if (retVal == NULL)        return 0;    return retVal;}FileHandle XMLPlatformUtils::openFile(const char* const fileName                                      , MemoryManager* const manager){	char posix_name[PATH_MAX + 1];	cygwin_conv_to_posix_path(fileName, posix_name);    FileHandle retVal = (FILE*)fopen( posix_name , "rb" );    if (retVal == NULL)        return 0;    return retVal;}FileHandle XMLPlatformUtils::openFileToWrite(const XMLCh* const fileName                                             , MemoryManager* const manager){    const char* tmpFileName = XMLString::transcode(fileName, manager);    ArrayJanitor<char> janText((char*)tmpFileName, manager);	char posix_name[PATH_MAX + 1];	cygwin_conv_to_posix_path(tmpFileName, posix_name);    return fopen( posix_name , "wb" );}FileHandle XMLPlatformUtils::openFileToWrite(const char* const fileName                                             , MemoryManager* const manager){	char posix_name[PATH_MAX + 1];	cygwin_conv_to_posix_path(fileName, posix_name);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图第一区| 一级日本不卡的影视| 69堂成人精品免费视频| 在线观看欧美黄色| 欧美三级中文字幕| 欧美日韩综合在线免费观看| 欧美日韩三级在线| 8x8x8国产精品| 日韩精品一区二| 久久毛片高清国产| 国产精品免费观看视频| 亚洲人亚洲人成电影网站色| 亚洲精品免费在线| 午夜精品久久久久| 国模套图日韩精品一区二区| 九九九精品视频| 成人av中文字幕| 欧美性感一区二区三区| 日韩精品自拍偷拍| 国产精品日韩成人| 亚洲午夜视频在线| 久久69国产一区二区蜜臀 | 91精品免费在线| 精品国产91洋老外米糕| 国产精品麻豆一区二区| 一区二区三区免费在线观看| 日韩精品电影在线| 国产传媒欧美日韩成人| 欧美日韩一区二区电影| 久久婷婷国产综合国色天香| 日韩理论片在线| 麻豆国产一区二区| 色婷婷精品大在线视频| 久久在线观看免费| 一区二区三区欧美日韩| 国产精品白丝jk黑袜喷水| 91亚洲精华国产精华精华液| 日韩一卡二卡三卡| 中文字幕一区二区三区精华液| 亚洲国产乱码最新视频| 成人动漫在线一区| 精品入口麻豆88视频| 亚洲香肠在线观看| eeuss鲁片一区二区三区| 欧美一级夜夜爽| 伊人色综合久久天天| 国产精品综合一区二区三区| 欧美久久婷婷综合色| 国产精品久久久久一区二区三区| 日韩va欧美va亚洲va久久| 91麻豆高清视频| 国产精品区一区二区三区| 美女mm1313爽爽久久久蜜臀| 91久久精品国产91性色tv| 国产拍欧美日韩视频二区| 日韩av在线免费观看不卡| 欧洲人成人精品| 亚洲三级在线看| 成人av资源在线| 国产精品午夜电影| 国内精品国产三级国产a久久| 欧美一区二区三级| 日韩二区三区四区| 欧美精品久久99| 日韩1区2区日韩1区2区| 欧美日本高清视频在线观看| 亚洲高清视频的网址| 在线免费观看日本欧美| 自拍偷自拍亚洲精品播放| www.66久久| 综合激情网...| 色综合一个色综合亚洲| 亚洲视频1区2区| 欧美专区在线观看一区| 一区二区三区丝袜| 91精品福利在线| 首页国产欧美久久| 91精品久久久久久久91蜜桃| 日本不卡中文字幕| 欧美电影精品一区二区| 国产福利精品导航| 中文字幕在线一区免费| bt7086福利一区国产| 亚洲欧洲综合另类| 欧美日韩高清在线| 男人的天堂亚洲一区| 久久嫩草精品久久久久| 国产激情精品久久久第一区二区 | 欧美日韩中文一区| 午夜日韩在线电影| 精品动漫一区二区三区在线观看| 久久不见久久见免费视频7| 精品三级在线观看| gogo大胆日本视频一区| 一区二区日韩电影| 日韩欧美在线一区二区三区| 秋霞影院一区二区| 日本一区二区三区免费乱视频| 成人毛片视频在线观看| 亚洲欧美日韩在线| 777欧美精品| 紧缚捆绑精品一区二区| 亚洲欧洲色图综合| 欧美丰满嫩嫩电影| 国产精品996| 亚洲最大成人网4388xx| 日韩欧美在线观看一区二区三区| 国产剧情一区在线| 亚洲午夜免费电影| 久久精品亚洲麻豆av一区二区 | 精品制服美女久久| 亚洲欧洲综合另类| 精品99久久久久久| 欧美专区日韩专区| 国产一区二区网址| 天天亚洲美女在线视频| 中文字幕亚洲一区二区av在线| 色婷婷亚洲婷婷| 国产精品18久久久久久vr| 亚洲精品国产精华液| 日韩久久久精品| 欧美日韩中文另类| 色综合天天狠狠| 国产精品亚洲专一区二区三区| 一区二区三区电影在线播| 久久久99久久精品欧美| 91精品国产综合久久小美女| 色综合中文综合网| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕高清一区| 日韩精品专区在线影院重磅| 欧美色图12p| 91小视频免费看| 国产精品一区二区久激情瑜伽| 石原莉奈在线亚洲三区| 亚洲素人一区二区| 欧美成人r级一区二区三区| 在线观看中文字幕不卡| 色吊一区二区三区| www.视频一区| 成人一级视频在线观看| 国产精品911| 国产最新精品免费| 国内一区二区在线| 久久99精品久久久久久动态图| 天堂在线亚洲视频| 天天综合网天天综合色| 亚洲一二三四在线| 亚洲国产欧美在线| 亚洲电影第三页| 三级影片在线观看欧美日韩一区二区 | 亚洲成av人片观看| 亚洲图片欧美色图| 日韩电影在线免费看| 午夜欧美2019年伦理| 午夜亚洲国产au精品一区二区| 一区二区三区四区中文字幕| 一级日本不卡的影视| 日日摸夜夜添夜夜添精品视频| 一区二区在线观看不卡| 亚洲国产精品久久人人爱蜜臀| 亚洲一区二区三区自拍| 亚洲成av人片在线| 久久精品国产秦先生| 国产精品正在播放| 成人毛片在线观看| 91国产成人在线| 日韩三级电影网址| www久久久久| 中文字幕一区二区不卡| 一区二区三区中文免费| 日本女优在线视频一区二区| 麻豆传媒一区二区三区| 国产精品1区2区3区| 91在线播放网址| 91精品在线麻豆| 国产精品丝袜久久久久久app| 综合在线观看色| 日韩国产高清影视| 成人中文字幕合集| 91.com视频| 国产精品美女久久久久久久 | 欧美日韩高清一区| 久久蜜臀精品av| 亚洲国产欧美在线| 成人一区二区三区| 91精品国产综合久久蜜臀| 欧美国产一区二区在线观看| 亚洲一区二区av在线| 国产风韵犹存在线视精品| 色呦呦网站一区| 久久女同精品一区二区| 亚洲第一激情av| 国产精品18久久久久| 制服丝袜亚洲色图| 国产精品久久久久久久久晋中| 三级成人在线视频| 在线亚洲免费视频| 亚洲国产精品二十页| 日韩制服丝袜av|