OSDN Git Service

エラー処理追加
authorqwerty2501 <riot313@gmail.com>
Sun, 12 Feb 2012 14:11:16 +0000 (23:11 +0900)
committerqwerty2501 <riot313@gmail.com>
Sun, 12 Feb 2012 14:11:16 +0000 (23:11 +0900)
nlib/nlib_nicoLive.cpp
nlite.suo
nlite/nlite_common.cpp
nlite/nlite_mainframe.cpp

index cc12465..a1f418d 100644 (file)
@@ -535,6 +535,11 @@ NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVid
                
                self->sessionManager.getPlayerStatusSession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",objectName,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
 
+               if(self->sessionManager.getPlayerStatusSession == NULL){
+
+                       goto connecterr;
+
+               }
                
                
        }
@@ -567,8 +572,13 @@ NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVid
                Sleep(1000);
                TCHAR objectName[LENGTH_256] = {L"api/getpublishstatus?v="};
                wcsncat(objectName,self->playerStatus.stream.id,sizeof(objectName) / sizeof(objectName[0]));
-               EnterCriticalSection(&self->sessionManager.cs);
+               
                self->sessionManager.getPublishStatusSession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",objectName,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
+
+               if(self->sessionManager.getPublishStatusSession == NULL){
+                       goto connecterr;
+               }
+               EnterCriticalSection(&self->sessionManager.cs);
                rslt = GetPublishStatus(&self->publishStatus,self->userSession,self->sessionManager.getPublishStatusSession);
                LeaveCriticalSection(&self->sessionManager.cs);
        }
@@ -631,6 +641,10 @@ NLIB_RESULT NicoLiveStream_sendHeartBeat(NicoLiveStream_P self){
        
                if(self->sessionManager.heartBeatSession == NULL){
                        self->sessionManager.heartBeatSession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",objectName,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
+
+                       if(self->sessionManager.heartBeatSession == NULL){
+                               goto connectend;
+                       }
                
                }
                if(WinHttpSendRequest(self->sessionManager.heartBeatSession,self->userSession,-1,WINHTTP_NO_REQUEST_DATA,0,0,0) == FALSE){
index 110a332..7b36b3a 100644 (file)
Binary files a/nlite.suo and b/nlite.suo differ
index 3d5e1d6..b07c246 100644 (file)
@@ -12,7 +12,7 @@ namespace nliteregex{
                const  CString VIDEOID_TEXT = TEXT("(sm|nm)([0-9])+");
                const  CString LIVEID_TEXT = TEXT("(lv)([0-9])+");
                const  CString LINK_TEXT = TEXT("(") + URL_TEXT + TEXT(")|(") + VIDEOID_TEXT + TEXT(")|(") + LIVEID_TEXT + TEXT(")");
-               const  CString SEARTCH_AT_MARK(TEXT("(.*)(@|\81\97)([^@^\81\97]+)"));
+               const  CString SEARTCH_AT_MARK(TEXT("(.*)(@|\81\97)(^ |^\81@[^@^\81\97]+)"));
                const  tstring NUTHINGSTRING(TEXT(""));
        }
        const  tregex URL(text::URL_TEXT);
index c6c4f22..11ecdbb 100644 (file)
@@ -349,6 +349,8 @@ BOOL CNliteMainFrame::ConnectNicoLive(LPCTSTR liveNo){
                case NLIB_ERR_GETPLAYERSTATUS_UNDEFINED:
                case NLIB_ERR_GETPLAYERSTATUS_NOAUTH:
                case NLIB_ERR_GETPLAYERSTATUS_CHANT_PARSE:
+               case NLIB_ERR_GETPLAYERSTATUS_BLOCK_NOW_COUNT_OVERFLOW:
+
 
                        
                        ::MessageBox(*this,NLIB_GetErrorMessage(code),TEXT("\95ú\91\97\90Ú\91±\83G\83\89\81["),MB_ICONERROR | MB_OK);