Browse Source

fixed bugs new char[] at queuestringmanager

researchman 8 years ago
parent
commit
58bb7f139f
3 changed files with 12 additions and 8 deletions
  1. 12 6
      QueueStrManager.cpp
  2. 0 1
      YAServer.cpp
  3. 0 1
      YAServerDlg.cpp

+ 12 - 6
QueueStrManager.cpp

@@ -27,12 +27,18 @@ void QueueStrManager::AddString(const char * chr)
 			LeaveCriticalSection(&m_csQueueList);
 			return;
 		}
-		char* pchr = new char[m_max_length];
-		strcpy(pchr, m_chr);
-		QueueUserWorkItem(m_pfunc, (LPVOID)pchr, WT_EXECUTEDEFAULT);
-		strcpy(m_chr, chr);
-		m_couter = 1;
-		m_length = strlen(chr);
+		try
+		{
+			char* pchr = new char[m_max_length];
+			strcpy(pchr, m_chr);
+			QueueUserWorkItem(m_pfunc, (LPVOID)pchr, WT_EXECUTEDEFAULT);
+			strcpy(m_chr, chr);
+			m_couter = 1;
+			m_length = strlen(chr);
+		}
+		catch(...){
+
+		}
 	}else {
 		if(m_couter == 0){
 			strcpy(m_chr, chr);

+ 0 - 1
YAServer.cpp

@@ -27,7 +27,6 @@ CYAServerApp::CYAServerApp()
 {
 	// 支持重新启动管理器
 	m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;
-
 	// TODO: 在此处添加构造代码,
 	// 将所有重要的初始化放置在 InitInstance 中
 }

+ 0 - 1
YAServerDlg.cpp

@@ -7528,7 +7528,6 @@ void CYAServerDlg::parse_json_data_call_card_cancel(message::ptr const& data )
 				call_reader->is_start_call = false;
 				call_reader->is_call_all = false;
 
-<<<<<<< HEAD
 				vector<message::ptr>::const_iterator it_card = card_vec.begin();
 				if(card_vec.size() == 0 || "" == (*it_card)->get_map()[JSON_KEY_CALL_CARD_CARD_ID]->get_string()){
 					if(call_reader->cards_count){