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

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

?? iconvfbsdtransservice.cpp

?? IBM的解析xml的工具Xerces的源代碼
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
void IconvFBSDTransService::lowerCase(XMLCh* const toLowerCase) const{    XMLCh* outPtr = toLowerCase;    while (*outPtr)    {#ifndef XML_USE_LIBICONV        *outPtr = fbsd_towlower(*outPtr);#else /* XML_USE_LIBICONV */        *outPtr = toLower(*outPtr);#endif /* !XML_USE_LIBICONV */        outPtr++;    }}// ---------------------------------------------------------------------------//  IconvFBSDLCPTranscoder: The virtual transcoder API// ---------------------------------------------------------------------------unsigned intIconvFBSDLCPTranscoder::calcRequiredSize (const char* const srcText                                          , MemoryManager* const manager){    if (!srcText)        return 0;#ifndef XML_USE_LIBICONV    unsigned int retVal = fbsd_mbstowcs(NULL, srcText, 0);    if (retVal == ~0)        return 0;    return retVal;#else /* XML_USE_LIBICONV */    size_t      len, srcLen;    len = srcLen = strlen(srcText);    if (len == 0)        return 0;    char    tmpWideArr[gTempBuffArraySize];    size_t    totalLen = 0;    for (;;) {        char        *pTmpArr = tmpWideArr;        const char    *ptr = srcText + srcLen - len;        size_t    rc = iconvFrom(ptr, &len, &pTmpArr, gTempBuffArraySize);        if (rc == (size_t) -1 && errno != E2BIG) {            ThrowXMLwithMemMgr(TranscodingException, XMLExcepts::Trans_BadSrcSeq, manager);            /* return 0; */        }        rc = pTmpArr - (char *) tmpWideArr;        totalLen += rc;        if (rc == 0 || len == 0)            break;    }    return totalLen / uChSize();#endif /* XML_USE_LIBICONV */}unsigned intIconvFBSDLCPTranscoder::calcRequiredSize(const XMLCh* const srcText                                         , MemoryManager* const manager){    if (!srcText)        return 0;    unsigned int  wLent = getWideCharLength(srcText);    if (wLent == 0)        return 0;#ifndef XML_USE_LIBICONV    wchar_t       tmpWideCharArr[gTempBuffArraySize];    wchar_t*      allocatedArray = 0;    wchar_t*      wideCharBuf = 0;    if (wLent >= gTempBuffArraySize)        wideCharBuf = allocatedArray = (wchar_t*) manager->allocate        (            (wLent + 1) * sizeof(wchar_t)        );//new wchar_t[wLent + 1];    else        wideCharBuf = tmpWideCharArr;    for (unsigned int i = 0; i < wLent; i++)        wideCharBuf[i] = srcText[i];    wideCharBuf[wLent] = 0x00;    const unsigned int retVal = fbsd_wcstombs(NULL, wideCharBuf, 0);    if (allocatedArray)        manager->deallocate(allocatedArray);//delete [] allocatedArray;    if (retVal == ~0)        return 0;    return retVal;#else /* XML_USE_LIBICONV */    char    tmpWBuff[gTempBuffArraySize];    char    *wBuf = 0;    char    *wBufPtr = 0;    size_t      len = wLent * uChSize();    if (uChSize() != sizeof(XMLCh) || UBO() != BYTE_ORDER) {        if (len > gTempBuffArraySize) {            wBufPtr = (char*) manager->allocate            (                len * sizeof(char)            );//new char[len];            if (wBufPtr == NULL)            return 0;            wBuf = wBufPtr;        } else            wBuf = tmpWBuff;        xmlToMbs (srcText, wLent, wBuf, wLent);    } else    wBuf = (char *) srcText;    char    tmpBuff[gTempBuffArraySize];    size_t    totalLen = 0;    char    *srcEnd = wBuf + wLent * uChSize();    for (;;) {        char        *pTmpArr = tmpBuff;        const char    *ptr = srcEnd - len;        size_t    rc = iconvTo(ptr, &len, &pTmpArr, gTempBuffArraySize);        if (rc == (size_t) -1 && errno != E2BIG) {            if (wBufPtr)            manager->deallocate(wBufPtr);//delete [] wBufPtr;            ThrowXMLwithMemMgr(TranscodingException, XMLExcepts::Trans_BadSrcSeq, manager);            /* return 0; */        }        rc = pTmpArr - tmpBuff;        totalLen += rc;        if (rc == 0 || len == 0)            break;    }    if (wBufPtr)        manager->deallocate(wBufPtr);//delete [] wBufPtr;    return totalLen;#endif /* !XML_USE_LIBICONV */}char* IconvFBSDLCPTranscoder::transcode(const XMLCh* const toTranscode){    if (!toTranscode)        return 0;    char* retVal = 0;    if (*toTranscode) {        unsigned int  wLent = getWideCharLength(toTranscode);#ifndef XML_USE_LIBICONV        wchar_t       tmpWideCharArr[gTempBuffArraySize];        wchar_t*      allocatedArray = 0;        wchar_t*      wideCharBuf = 0;        if (wLent >= gTempBuffArraySize)            wideCharBuf = allocatedArray = new wchar_t[wLent + 1];        else            wideCharBuf = tmpWideCharArr;        for (unsigned int i = 0; i < wLent; i++)            wideCharBuf[i] = toTranscode[i];        wideCharBuf[wLent] = 0x00;        // Calc the needed size.        const size_t neededLen = fbsd_wcstombs(NULL, wideCharBuf, 0);        if (neededLen == -1) {            if (allocatedArray)                delete [] allocatedArray;            return 0;        }        retVal = new char[neededLen + 1];        fbsd_wcstombs(retVal, wideCharBuf, neededLen);        if (allocatedArray)            delete [] allocatedArray;        retVal[neededLen] = 0;#else /* XML_USE_LIBICONV */        // Calc needed size.        const size_t neededLen = calcRequiredSize (toTranscode);        if (neededLen == 0)            return 0;        // allocate output buffer        retVal = new char[neededLen + 1];        if (retVal == NULL)            return 0;        // prepare the original        char    tmpWBuff[gTempBuffArraySize];        char    *wideCharBuf = 0;        char    *wBufPtr = 0;        size_t  len = wLent * uChSize();        if (uChSize() != sizeof(XMLCh) || UBO() != BYTE_ORDER) {            if (len > gTempBuffArraySize) {            wBufPtr = new char[len];            if (wBufPtr == NULL)                return 0;            wideCharBuf = wBufPtr;            } else            wideCharBuf = tmpWBuff;            xmlToMbs (toTranscode, wLent, wideCharBuf, wLent);        } else            wideCharBuf = (char *) toTranscode;        // perform conversion        wLent *= uChSize();        char    *ptr = retVal;        size_t  tmpwLent = wLent;        size_t  rc = iconvTo(wideCharBuf, &tmpwLent, &ptr, neededLen);        if (rc == (size_t)-1) {            if (wBufPtr)            delete [] wBufPtr;            return 0;        }        if (wBufPtr)            delete [] wBufPtr;        retVal[neededLen] = 0;#endif /* !XML_USE_LIBICONV */    } else {        retVal = new char[1];        if (retVal == NULL)            return 0;        retVal[0] = 0;    }    return retVal;}char* IconvFBSDLCPTranscoder::transcode(const XMLCh* const toTranscode,                                        MemoryManager* const manager){    if (!toTranscode)        return 0;    char* retVal = 0;    if (*toTranscode) {        unsigned int  wLent = getWideCharLength(toTranscode);#ifndef XML_USE_LIBICONV        wchar_t       tmpWideCharArr[gTempBuffArraySize];        wchar_t*      allocatedArray = 0;        wchar_t*      wideCharBuf = 0;        if (wLent >= gTempBuffArraySize)            wideCharBuf = allocatedArray = (wchar_t*) manager->allocate            (                (wLent + 1) * sizeof(wchar_t)            );//new wchar_t[wLent + 1];        else            wideCharBuf = tmpWideCharArr;        for (unsigned int i = 0; i < wLent; i++)            wideCharBuf[i] = toTranscode[i];        wideCharBuf[wLent] = 0x00;        // Calc the needed size.        const size_t neededLen = fbsd_wcstombs(NULL, wideCharBuf, 0);        if (neededLen == -1) {            if (allocatedArray)                manager->deallocate(allocatedArray);//delete [] allocatedArray;            return 0;        }        retVal = (char*) manager->allocate((neededLen + 1) * sizeof(char));//new char[neededLen + 1];        fbsd_wcstombs(retVal, wideCharBuf, neededLen);        if (allocatedArray)            manager->deallocate(allocatedArray);//delete [] allocatedArray;        retVal[neededLen] = 0;#else /* XML_USE_LIBICONV */        // Calc needed size.        const size_t neededLen = calcRequiredSize (toTranscode, manager);        if (neededLen == 0)            return 0;        // allocate output buffer        retVal = (char*) manager->allocate((neededLen + 1) * sizeof(char));//new char[neededLen + 1];        if (retVal == NULL)            return 0;        // prepare the original        char    tmpWBuff[gTempBuffArraySize];        char    *wideCharBuf = 0;        char    *wBufPtr = 0;        size_t  len = wLent * uChSize();        if (uChSize() != sizeof(XMLCh) || UBO() != BYTE_ORDER) {            if (len > gTempBuffArraySize) {            wBufPtr = (char*) manager->allocate(len * sizeof(char));//new char[len];            if (wBufPtr == NULL) {                manager->deallocate(retVal);                return 0;            }            wideCharBuf = wBufPtr;            } else            wideCharBuf = tmpWBuff;            xmlToMbs (toTranscode, wLent, wideCharBuf, wLent);        } else            wideCharBuf = (char *) toTranscode;        // perform conversion        wLent *= uChSize();        char    *ptr = retVal;        size_t  tmpwLent = wLent;        size_t  rc = iconvTo(wideCharBuf, &tmpwLent, &ptr, neededLen);        if (rc == (size_t)-1) {            if (wBufPtr)                manager->deallocate(wBufPtr);//delete [] wBufPtr;            return 0;        }        if (wBufPtr)            manager->deallocate(wBufPtr);//delete [] wBufPtr;        retVal[neededLen] = 0;#endif /* !XML_USE_LIBICONV */    } else {        retVal = (char*) manager->allocate(sizeof(char));//new char[1];        if (retVal == NULL)            return 0;        retVal[0] = 0;    }    return retVal;}bool IconvFBSDLCPTranscoder::transcode( const   XMLCh* const    toTranscode                    , char* const        toFill                    , const unsigned int    maxBytes                    , MemoryManager* const  manager){    // Watch for a couple of pyscho corner cases    if (!toTranscode || !maxBytes) {        toFill[0] = 0;        return true;    }    if (!*toTranscode) {        toFill[0] = 0;        return true;    }    unsigned int  wLent = getWideCharLength(toTranscode);    if (wLent > maxBytes)        wLent = maxBytes;#ifndef XML_USE_LIBICONV    wchar_t       tmpWideCharArr[gTempBuffArraySize];    wchar_t*      allocatedArray = 0;    wchar_t*      wideCharBuf = 0;    if (maxBytes >= gTempBuffArraySize)        wideCharBuf = allocatedArray = (wchar_t*) manager->allocate        (            (maxBytes + 1) * sizeof(wchar_t)        );//new wchar_t[maxBytes + 1];    else        wideCharBuf = tmpWideCharArr;    for (unsigned int i = 0; i < wLent; i++)        wideCharBuf[i] = toTranscode[i];    wideCharBuf[wLent] = 0x00;    // Ok, go ahead and try the transcoding. If it fails, then ...    size_t mblen = fbsd_wcstombs(toFill, wideCharBuf, maxBytes);    if (mblen == -1) {        if (allocatedArray)            manager->deallocate(allocatedArray);//delete [] allocatedArray;        return false;    }    if (allocatedArray)        manager->deallocate(allocatedArray);//delete [] allocatedArray;    // Cap it off just in case    toFill[mblen] = 0;#else /* XML_USE_LIBICONV */    // Fill the "unicode" string    char    tmpWBuff[gTempBuffArraySize];    char    *wideCharBuf = 0;    char    *wBufPtr = 0;    size_t  len = wLent * uChSize();    if (uChSize() != sizeof(XMLCh) || UBO() != BYTE_ORDER) {        if (len > gTempBuffArraySize) {            wBufPtr = (char*) manager->allocate            (                len * sizeof(char)            );//new char[len];            if (wBufPtr == NULL)                return 0;            wideCharBuf = wBufPtr;         }         else             wideCharBuf = tmpWBuff;             xmlToMbs (toTranscode, wLent, wideCharBuf, wLent);     }     else         wideCharBuf = (char *) toTranscode;    // Ok, go ahead and try the transcoding. If it fails, then ...    char    *ptr = toFill;    size_t rc = iconvTo(wideCharBuf, &len, &ptr, maxBytes);    if (rc == (size_t)-1) {        if (wBufPtr)           manager->deallocate(wBufPtr);//delete [] wBufPtr;        return false;    }    if (wBufPtr)        manager->deallocate(wBufPtr);//delete [] wBufPtr;    *ptr = 0;#endif /* !XML_USE_LIBICONV */    return true;}XMLCh* IconvFBSDLCPTranscoder::transcode(const char* const toTranscode){    if (!toTranscode)        return 0;    XMLCh* retVal = 0;    if (*toTranscode) {        const unsigned int wLent = calcRequiredSize(toTranscode);        if (wLent == 0) {            retVal = new XMLCh[1];            retVal[0] = 0;            return retVal;        }#ifndef XML_USE_LIBICONV        wchar_t       tmpWideCharArr[gTempBuffArraySize];        wchar_t*      allocatedArray = 0;        wchar_t*      wideCharBuf = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区在线视频观看| 亚洲欧美一区二区久久| 一区二区三区在线播放| 91年精品国产| 亚洲裸体在线观看| 欧美性猛片xxxx免费看久爱 | 欧美日韩大陆一区二区| 亚洲网友自拍偷拍| 欧美午夜精品一区二区蜜桃| 日本欧美加勒比视频| 日韩免费高清av| 国产成人亚洲精品青草天美| 国产精品美女久久久久av爽李琼| 亚洲女同ⅹxx女同tv| 国产精品亲子伦对白| 7777精品伊人久久久大香线蕉的 | 国产高清无密码一区二区三区| 麻豆一区二区三区| 欧美成人精品1314www| 国产制服丝袜一区| 国产精品伦理一区二区| 欧美在线免费观看亚洲| 蜜乳av一区二区| 国产精品视频免费看| 欧美亚洲动漫制服丝袜| 久久99热这里只有精品| 国产精品网友自拍| 欧美日韩一区成人| 国产真实乱偷精品视频免| 亚洲三级电影全部在线观看高清| 成人免费毛片嘿嘿连载视频| 久久这里只有精品视频网| 麻豆精品国产传媒mv男同 | 午夜av区久久| 麻豆精品精品国产自在97香蕉| 国产成人精品免费在线| 在线国产电影不卡| 国产精品国模大尺度视频| 国产精品夫妻自拍| 国产精品一级黄| 日韩一区二区三区免费观看| 国产精品久久久久久妇女6080| 日韩av成人高清| 91麻豆成人久久精品二区三区| 久久精品男人的天堂| 久久精品国产一区二区| 欧美日韩国产高清一区二区| 国产精品久久久久影院色老大| 国产99精品国产| 大陆成人av片| √…a在线天堂一区| 国产精品色噜噜| 一区二区三区不卡视频| 欧美日韩国产首页| 欧美曰成人黄网| 麻豆精品久久精品色综合| 精品国产电影一区二区| 欧美色图天堂网| 成人免费黄色在线| 国产伦精品一区二区三区在线观看 | 国产成人在线视频网站| 欧美一区二区在线视频| 午夜精品久久久久久久蜜桃app| 国产一区二区三区久久悠悠色av| 欧美私模裸体表演在线观看| 亚洲精品视频免费观看| 欧美午夜精品一区二区三区| 亚洲成a人片在线观看中文| 欧美在线观看你懂的| 国产精品一区在线观看乱码| 日韩精品一区二区三区四区视频| 国产成人亚洲精品青草天美| 国产亲近乱来精品视频| 91黄色免费观看| 开心九九激情九九欧美日韩精美视频电影| 欧美日韩在线三级| 欧美一区二区在线免费播放| 亚洲成av人片在线| 欧美亚洲国产bt| 久久久国产一区二区三区四区小说 | 欧美中文字幕一区二区三区 | 免费成人在线网站| 午夜精品一区二区三区三上悠亚| 亚洲免费av网站| 中文字幕亚洲视频| 亚洲欧美日韩久久| 亚洲天堂a在线| 1024成人网色www| 亚洲另类春色校园小说| 亚洲婷婷综合色高清在线| 亚洲精品欧美激情| 亚洲综合偷拍欧美一区色| 亚洲影院久久精品| 偷窥国产亚洲免费视频| 蜜臀av性久久久久蜜臀aⅴ| 日本美女一区二区| 麻豆中文一区二区| 成人丝袜高跟foot| 91美女片黄在线| 亚洲午夜精品17c| 日本不卡一区二区| 国产精品99久久久| 国产激情视频一区二区在线观看| 国产一区二区三区久久久| 免费精品视频在线| 国产精品毛片a∨一区二区三区| 欧美性猛片aaaaaaa做受| 99久久综合精品| 精品久久久久一区| 国产精品卡一卡二卡三| 精品日产卡一卡二卡麻豆| 欧美精品一区二区三区视频| 欧美亚一区二区| 欧美猛男男办公室激情| 在线综合视频播放| 国产精品你懂的在线| 亚洲欧洲无码一区二区三区| 亚洲精品乱码久久久久久| 亚洲成在线观看| 久久99精品久久久久久久久久久久| 日韩中文字幕亚洲一区二区va在线| 免费久久99精品国产| 国产精品一区2区| 国产成人免费av在线| 91国偷自产一区二区开放时间| 在线观看不卡一区| 欧美一区二区三区四区高清| 亚洲国产精品99久久久久久久久| 国产亚洲欧美中文| 久久综合色之久久综合| 亚洲亚洲精品在线观看| 欧美aaaaaa午夜精品| 日韩vs国产vs欧美| 国产很黄免费观看久久| 欧美午夜一区二区| 亚洲欧美一区二区在线观看| 91精品综合久久久久久| 成人免费视频一区| 久久国产精品色| 高清免费成人av| 欧美一级一区二区| 亚洲区小说区图片区qvod| 久久99蜜桃精品| 欧美日韩中文字幕精品| 日本一区二区不卡视频| 免费亚洲电影在线| 欧美三区在线观看| 亚洲码国产岛国毛片在线| 国产91富婆露脸刺激对白| 日韩一级成人av| 国产精品美女视频| 成人动漫一区二区| 亚洲高清在线精品| 欧美探花视频资源| 欧美在线你懂得| 国产精品超碰97尤物18| 美女尤物国产一区| 欧美猛男男办公室激情| 亚洲一区二区三区自拍| 99re在线精品| 国产精品区一区二区三区| 激情六月婷婷综合| 日韩三级免费观看| 青青草成人在线观看| 7777精品伊人久久久大香线蕉经典版下载| 中文字幕亚洲一区二区va在线| 成人丝袜高跟foot| 中文字幕不卡的av| voyeur盗摄精品| 亚洲国产精品ⅴa在线观看| 国产成人高清在线| 欧美国产一区在线| av在线不卡观看免费观看| 欧美经典一区二区| 丁香桃色午夜亚洲一区二区三区| 久久精品免费在线观看| 成人av影视在线观看| 日韩毛片在线免费观看| 色播五月激情综合网| 久久亚洲综合色一区二区三区| 欧美视频完全免费看| 亚洲图片自拍偷拍| 欧美精品欧美精品系列| 玖玖九九国产精品| 26uuu另类欧美| 成人va在线观看| 亚洲精品成人天堂一二三| 91黄色免费版| 日产欧产美韩系列久久99| 日韩精品一区二区三区中文不卡| 久久99久久久久久久久久久| 久久精品亚洲乱码伦伦中文| 丁香另类激情小说| 亚洲激情六月丁香| 91精品国产综合久久久久久久久久| 久久丁香综合五月国产三级网站| 久久精品视频在线免费观看| 99久久精品国产毛片| 亚洲一区二区av在线| 欧美大片日本大片免费观看|