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

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

?? xmlurl.cpp

?? IBM的解析xml的工具Xerces的源代碼
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
                    , srcPtr                    , fMemoryManager                );            }            // And move our source pointer up past what we've processed            srcPtr = (ptr1 + 1);        }    }    //    //  Ok, next we need to see if we have any host part. If the next    //  two characters are //, then we need to check, else move on.    //    if ((*srcPtr == chForwardSlash) && (*(srcPtr + 1) == chForwardSlash))    {        // Move up past the slashes        srcPtr += 2;        //        //  If we aren't at the end of the string, then there has to be a        //  host part at this point. we will just look for the next / char        //  or end of string and make all of that the host for now.        //        if (*srcPtr)        {            // Search from here for a / character            ptr1 = XMLString::findAny(srcPtr, gListFour);            //            //  If we found something, then the host is between where            //  we are and what we found. Else the host is the rest of            //  the content and we are done. If its empty, leave it null.            //            if (ptr1)            {                if (ptr1 != srcPtr)                {                    fMemoryManager->deallocate(fHost);//delete [] fHost;                    fHost = (XMLCh*) fMemoryManager->allocate                    (                        ((ptr1 - srcPtr) + 1) * sizeof(XMLCh)                    );//new XMLCh[(ptr1 - srcPtr) + 1];                    ptr2 = fHost;                    while (srcPtr < ptr1)                        *ptr2++ = *srcPtr++;                    *ptr2 = 0;                }            }             else            {                fMemoryManager->deallocate(fHost);//delete [] fHost;                fHost = XMLString::replicate(srcPtr, fMemoryManager);                // Update source pointer to the end                srcPtr += XMLString::stringLen(fHost);            }        }    }    else    {        //        // http protocol requires two forward slashes        // we didn't get them, so throw an exception        //        if (fProtocol == HTTP) {            ThrowXMLwithMemMgr                (                    MalformedURLException                    , XMLExcepts::URL_ExpectingTwoSlashes                    , fMemoryManager                );        }    }    //    //  If there was a host part, then we have to grovel through it for    //  all the bits and pieces it can hold.    //    if (fHost)    {        //        //  Look for a '@' character, which indicates a user name. If we        //  find one, then everything between the start of the host data        //  and the character is the user name.        //        ptr1 = XMLString::findAny(fHost, gListTwo);        if (ptr1)        {            // Get this info out as the user name            *ptr1 = 0;            fMemoryManager->deallocate(fUser);//delete [] fUser;            fUser = XMLString::replicate(fHost, fMemoryManager);            ptr1++;            // And now cut these chars from the host string            XMLString::cut(fHost, ptr1 - fHost);            // Is there a password inside the user string?            ptr2 = XMLString::findAny(fUser, gListThree);            if (ptr2)            {                // Remove it from the user name string                *ptr2 = 0;                // And copy out the remainder to the password field                ptr2++;                fMemoryManager->deallocate(fPassword);//delete [] fPassword;                fPassword = XMLString::replicate(ptr2, fMemoryManager);            }        }        //        //  Ok, so now we are at the actual host name, if any. If we are        //  not at the end of the host data, then lets see if we have a        //  port trailing the        //        ptr1 = XMLString::findAny(fHost, gListThree);        if (ptr1)        {            // Remove it from the host name            *ptr1 = 0;            // Try to convert it to a numeric port value and store it            ptr1++;            if (!XMLString::textToBin(ptr1, fPortNum, fMemoryManager))                ThrowXMLwithMemMgr(MalformedURLException, XMLExcepts::URL_BadPortField, fMemoryManager);        }        // If the host ended up empty, then toss is        if (!*fHost)        {            fMemoryManager->deallocate(fHost);//delete[] fHost;            fHost = 0;        }    }    // If we are at the end, then we are done now    if (!*srcPtr)	{        return;	}    //    //  Next is the path part. It can be absolute, i.e. starting with a    //  forward slash character, or relative. Its basically everything up    //  to the end of the string or to any trailing query or fragment.    //    ptr1 = XMLString::findAny(srcPtr, gListFive);    if (!ptr1)    {        fMemoryManager->deallocate(fPath);//delete [] fPath;        fPath = XMLString::replicate(srcPtr, fMemoryManager);        return;    }    // Everything from where we are to what we found is the path    if (ptr1 > srcPtr)    {        fMemoryManager->deallocate(fPath);//delete [] fPath;        fPath = (XMLCh*) fMemoryManager->allocate        (            ((ptr1 - srcPtr) + 1) * sizeof(XMLCh)        );//new XMLCh[(ptr1 - srcPtr) + 1];        ptr2 = fPath;        while (srcPtr < ptr1)            *ptr2++ = *srcPtr++;        *ptr2 = 0;    }    //    //  If we found a fragment, then it is the rest of the string and we    //  are done.    //    if (*srcPtr == chPound)    {        srcPtr++;        fMemoryManager->deallocate(fFragment);//delete [] fFragment;        fFragment = XMLString::replicate(srcPtr, fMemoryManager);        return;    }    //    //  The query is either the rest of the string, or up to the fragment    //  separator.    //    srcPtr++;    ptr1 = XMLString::findAny(srcPtr, gListSix);    fMemoryManager->deallocate(fQuery);//delete [] fQuery;    if (!ptr1)    {        fQuery = XMLString::replicate(srcPtr, fMemoryManager);        return;    }     else    {        fQuery = (XMLCh*) fMemoryManager->allocate        (            ((ptr1 - srcPtr) + 1) * sizeof(XMLCh)        );//new XMLCh[(ptr1 - srcPtr) + 1];        ptr2 = fQuery;        while (srcPtr < ptr1)            *ptr2++ = *srcPtr++;        *ptr2 = 0;    }    // If we are not at the end now, then everything else is the fragment    if (*srcPtr == chPound)    {        srcPtr++;        fMemoryManager->deallocate(fFragment);//delete [] fFragment;        fFragment = XMLString::replicate(srcPtr, fMemoryManager);    }}bool XMLURL::parse(const XMLCh* const urlText, XMLURL& xmlURL){    // Simplify things by checking for the psycho scenarios first    if (!*urlText)        return false;    // Before we start, check if this urlText contains valid uri characters    if (!XMLUri::isURIString(urlText))        xmlURL.fHasInvalidChar = true;    else        xmlURL.fHasInvalidChar = false;    //    //  The first thing we will do is to check for a file name, so that    //  we don't waste time thinking its a URL. If its in the form x:\    //  or x:/ and x is an ASCII letter, then assume that's the deal.    //    if (((*urlText >= chLatin_A) && (*urlText <= chLatin_Z))    ||  ((*urlText >= chLatin_a) && (*urlText <= chLatin_z)))    {        if (*(urlText + 1) == chColon)        {            if ((*(urlText + 2) == chForwardSlash)            ||  (*(urlText + 2) == chBackSlash))            {                return false;            }        }    }    // Get a copy of the URL that we can modify    XMLCh* srcCpy = XMLString::replicate(urlText, xmlURL.fMemoryManager);    ArrayJanitor<XMLCh> janSrcCopy(srcCpy, xmlURL.fMemoryManager);    //    //  Get a pointer now that we can run up thrown the source as we parse    //  bits and pieces out of it.    //    XMLCh* srcPtr = srcCpy;    // Run up past any spaces    while (*srcPtr)    {        if (!XMLPlatformUtils::fgTransService->isSpace(*srcPtr))            break;        srcPtr++;    }    // Make sure it wasn't all space    if (!*srcPtr)        return false;    //    //  Ok, the next thing we have to do is to find either a / or : character.    //  If the : is first, we assume we have a protocol. If the / is first,    //  then we skip to the host processing.    //    XMLCh* ptr1 = XMLString::findAny(srcPtr, gListOne);    XMLCh* ptr2;    // If we found a protocol, then deal with it    if (ptr1)    {        if (*ptr1 == chColon)        {            // Cap the string at the colon            *ptr1 = 0;            // And try to find it in our list of protocols            xmlURL.fProtocol = lookupByName(srcPtr);            if (xmlURL.fProtocol == Unknown)                return false;            // And move our source pointer up past what we've processed            srcPtr = (ptr1 + 1);        }    }    //    //  Ok, next we need to see if we have any host part. If the next    //  two characters are //, then we need to check, else move on.    //    if ((*srcPtr == chForwardSlash) && (*(srcPtr + 1) == chForwardSlash))    {        // Move up past the slashes        srcPtr += 2;        //        //  If we aren't at the end of the string, then there has to be a        //  host part at this point. we will just look for the next / char        //  or end of string and make all of that the host for now.        //        if (*srcPtr)        {            // Search from here for a / character            ptr1 = XMLString::findAny(srcPtr, gListFour);            //            //  If we found something, then the host is between where            //  we are and what we found. Else the host is the rest of            //  the content and we are done. If its empty, leave it null.            //            if (ptr1)            {                if (ptr1 != srcPtr)                {                    xmlURL.fHost = (XMLCh*) xmlURL.fMemoryManager->allocate                    (                        ((ptr1 - srcPtr) + 1) * sizeof(XMLCh)                    );//new XMLCh[(ptr1 - srcPtr) + 1];                    ptr2 = xmlURL.fHost;                    while (srcPtr < ptr1)                        *ptr2++ = *srcPtr++;                    *ptr2 = 0;                }            }             else            {                xmlURL.fHost = XMLString::replicate(srcPtr, xmlURL.fMemoryManager);                // Update source pointer to the end                srcPtr += XMLString::stringLen(xmlURL.fHost);            }        }    }    else    {        //        // http protocol requires two forward slashes        // we didn't get them, so throw an exception        //        if (xmlURL.fProtocol == HTTP)            return false;    }    //    //  If there was a host part, then we have to grovel through it for    //  all the bits and pieces it can hold.    //    if (xmlURL.fHost)    {        //        //  Look for a '@' character, which indicates a user name. If we        //  find one, then everything between the start of the host data        //  and the character is the user name.        //        ptr1 = XMLString::findAny(xmlURL.fHost, gListTwo);        if (ptr1)        {            // Get this info out as the user name            *ptr1 = 0;            xmlURL.fUser = XMLString::replicate(xmlURL.fHost, xmlURL.fMemoryManager);            ptr1++;            // And now cut these chars from the host string            XMLString::cut(xmlURL.fHost, ptr1 - xmlURL.fHost);            // Is there a password inside the user string?            ptr2 = XMLString::findAny(xmlURL.fUser, gListThree);            if (ptr2)            {                // Remove it from the user name string                *ptr2 = 0;                // And copy out the remainder to the password field                ptr2++;                xmlURL.fPassword = XMLString::replicate(ptr2, xmlURL.fMemoryManager);            }        }        //        //  Ok, so now we are at the actual host name, if any. If we are        //  not at the end of the host data, then lets see if we have a        //  port trailing the        //        ptr1 = XMLString::findAny(xmlURL.fHost, gListThree);        if (ptr1)        {            // Remove it from the host name            *ptr1 = 0;            // Try to convert it to a numeric port value and store it            ptr1++;            if (!XMLString::textToBin(ptr1, xmlURL.fPortNum, xmlURL.fMemoryManager))                return false;        }        // If the host ended up empty, then toss is        if (!*(xmlURL.fHost))        {            xmlURL.fMemoryManager->deallocate(xmlURL.fHost);//delete[] fHost;            xmlURL.fHost = 0;        }    }    // If we are at the end, then we are done now    if (!*srcPtr)	{        return true;	}    //    //  Next is the path part. It can be absolute, i.e. starting with a    //  forward slash character, or relative. Its basically everything up    //  to the end of the string or to any trailing query or fragment.    //    ptr1 = XMLString::findAny(srcPtr, gListFive);    if (!ptr1)    {        xmlURL.fPath = XMLString::replicate(srcPtr, xmlURL.fMemoryManager);        return true;    }    // Everything from where we are to what we found is the path    if (ptr1 > srcPtr)    {        xmlURL.fPath = (XMLCh*) xmlURL.fMemoryManager->allocate        (            ((ptr1 - srcPtr) + 1) * sizeof(XMLCh)        );//new XMLCh[(ptr1 - srcPtr) + 1];        ptr2 = xmlURL.fPath;        while (srcPtr < ptr1)            *ptr2++ = *srcPtr++;        *ptr2 = 0;    }    //    //  If we found a fragment, then it is the rest of the string and we    //  are done.    //    if (*srcPtr == chPound)    {        srcPtr++;        xmlURL.fFragment = XMLString::replicate(srcPtr, xmlURL.fMemoryManager);        return true;    }    //    //  The query is either the rest of the string, or up to the fragment    //  separator.    //    srcPtr++;    ptr1 = XMLString::findAny(srcPtr, gListSix);    if (!ptr1)    {        xmlURL.fQuery = XMLString::replicate(srcPtr, xmlURL.fMemoryManager);        return true;    }     else    {        xmlURL.fQuery = (XMLCh*) xmlURL.fMemoryManager->allocate        (            ((ptr1 - srcPtr) + 1) * sizeof(XMLCh)        );//new XMLCh[(ptr1 - srcPtr) + 1];        ptr2 = xmlURL.fQuery;        while (srcPtr < ptr1)            *ptr2++ = *srcPtr++;        *ptr2 = 0;    }    // If we are not at the end now, then everything else is the fragment    if (*srcPtr == chPound)    {        srcPtr++;        xmlURL.fFragment = XMLString::replicate(srcPtr, xmlURL.fMemoryManager);    }    return true;}XERCES_CPP_NAMESPACE_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线一区二区三区| 日日欢夜夜爽一区| heyzo一本久久综合| 日本一区二区三区视频视频| 成人激情开心网| 亚洲欧洲国产专区| 在线观看视频一区| 秋霞电影一区二区| 日韩精品在线网站| 国产大陆a不卡| 中文字幕人成不卡一区| 欧美色爱综合网| 欧美a级一区二区| 国产日本欧美一区二区| 色婷婷av一区二区三区大白胸 | 精品久久人人做人人爰| 国产精品99久久久久久似苏梦涵| 久久综合九色综合久久久精品综合 | 久久精品亚洲一区二区三区浴池| 国产成人精品一区二区三区网站观看| 国产精品污污网站在线观看| 色屁屁一区二区| 久久精品国产秦先生| 国产精品嫩草影院com| 色婷婷综合在线| 久久国产精品区| 亚洲男帅同性gay1069| 日韩午夜av一区| av电影在线观看不卡| 五月天亚洲精品| 中文字幕的久久| 欧美日韩三级视频| 成人毛片视频在线观看| 日韩国产在线一| 国产精品你懂的在线| 日韩三级.com| 91在线观看免费视频| 激情五月婷婷综合网| 一区二区三区波多野结衣在线观看 | 欧美精品一区二区三区蜜桃| 99综合电影在线视频| 美女免费视频一区| 亚洲黄色尤物视频| 2020国产精品久久精品美国| 欧美日韩三级一区| 色综合色狠狠综合色| 国产伦精品一区二区三区免费 | 91精品国产一区二区三区香蕉| 国产成人亚洲精品青草天美 | 亚洲午夜精品在线| 国产精品色呦呦| 精品国产乱码久久久久久影片| 欧美无乱码久久久免费午夜一区 | 欧美系列在线观看| 白白色亚洲国产精品| 国产中文字幕一区| 日本不卡一区二区| 亚洲午夜国产一区99re久久| 亚洲视频在线一区二区| 国产拍欧美日韩视频二区| 精品成人在线观看| 欧美一区三区四区| 欧亚洲嫩模精品一区三区| 成人激情图片网| 丁香亚洲综合激情啪啪综合| 国内精品久久久久影院薰衣草| 奇米影视一区二区三区小说| 午夜国产精品影院在线观看| 亚洲综合自拍偷拍| 亚洲免费看黄网站| 亚洲欧洲日韩在线| 中文字幕一区二区三区四区不卡 | 中文字幕日韩av资源站| 国产精品美日韩| 成人欧美一区二区三区黑人麻豆 | 国产校园另类小说区| 精品三级在线看| 欧美v日韩v国产v| 欧美成人一级视频| 久久亚洲精华国产精华液| 欧美精品一区二区在线观看| 91精品国产色综合久久不卡电影| 欧美日韩精品一区二区三区蜜桃| 欧美日本免费一区二区三区| 欧美精品vⅰdeose4hd| 欧美一区二区三区色| 欧美xxxxxxxx| 国产无一区二区| 国产精品久久综合| 亚洲欧美激情小说另类| 亚洲综合色噜噜狠狠| 视频在线观看一区| 美国毛片一区二区| 国产成人在线视频免费播放| 99精品国产热久久91蜜凸| 91福利资源站| 欧美一级二级三级乱码| 久久久精品人体av艺术| 中文字幕精品一区| 亚洲综合免费观看高清完整版在线| 视频一区二区中文字幕| 久久精品国产一区二区| 成人h动漫精品| 欧美日韩在线播放三区| 欧美xxx久久| 亚洲桃色在线一区| 日本欧美加勒比视频| 丰满白嫩尤物一区二区| 在线观看视频一区二区欧美日韩| 日韩区在线观看| 亚洲国产经典视频| 亚洲成人av福利| 久久成人综合网| 97se亚洲国产综合自在线不卡| 欧美精品亚洲一区二区在线播放| 精品第一国产综合精品aⅴ| 亚洲日本在线视频观看| 欧美96一区二区免费视频| av亚洲精华国产精华精华| 91精品国产福利在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲精品v日韩精品| 蜜臀91精品一区二区三区| 99国产精品久久久久久久久久| 91麻豆精品国产91久久久使用方法 | 日韩精品1区2区3区| 波多野结衣精品在线| 日韩午夜小视频| 亚洲一二三四区不卡| 国产麻豆91精品| 7777精品久久久大香线蕉| 国产精品三级av| 美女www一区二区| 欧美日韩免费观看一区二区三区| 亚洲国产精品成人综合色在线婷婷| 日韩黄色片在线观看| 91浏览器入口在线观看| 亚洲精品一区二区三区四区高清 | 美女网站在线免费欧美精品| 色香蕉久久蜜桃| 国产精品国产自产拍高清av王其| 日本亚洲免费观看| 欧美三级韩国三级日本三斤 | 性久久久久久久久| 99精品久久只有精品| 亚洲国产岛国毛片在线| 精品夜夜嗨av一区二区三区| 欧美高清精品3d| 亚洲综合在线第一页| 91亚洲资源网| 国产精品视频一二三| 成人小视频在线| 久久欧美一区二区| 久久99精品国产麻豆婷婷洗澡| 777午夜精品视频在线播放| 亚洲小说欧美激情另类| 一本一本大道香蕉久在线精品 | 国产片一区二区| 国产福利视频一区二区三区| 精品国产99国产精品| 久久aⅴ国产欧美74aaa| 日韩午夜精品电影| 蜜臀av一区二区在线免费观看| 欧美一区二区在线看| 奇米一区二区三区av| 日韩午夜在线观看| 精品一区二区三区香蕉蜜桃| 欧美大白屁股肥臀xxxxxx| 蜜臀精品一区二区三区在线观看| 欧美一区二区视频观看视频| 天堂蜜桃91精品| 日韩一区二区三区高清免费看看| 免费成人结看片| 欧美日本乱大交xxxxx| 蜜臀久久99精品久久久画质超高清 | 欧美精品一区二区蜜臀亚洲| 久久99精品久久只有精品| 欧美岛国在线观看| 国产精品一区二区久久不卡| 国产色婷婷亚洲99精品小说| 成人黄色av网站在线| 亚洲免费在线视频| 制服丝袜成人动漫| 精品系列免费在线观看| 国产午夜精品一区二区三区嫩草 | 国产女人水真多18毛片18精品视频| 国产成人鲁色资源国产91色综| 国产精品国产三级国产a| 在线亚洲+欧美+日本专区| 五月婷婷激情综合| 欧美va在线播放| av资源站一区| 一区二区三区美女视频| 欧美高清视频一二三区 | 美女在线视频一区| 中文av一区特黄| 欧美性猛交xxxx黑人交| 国产一区中文字幕| 日韩美女视频一区二区| 欧美片在线播放|