|
|
@@ -2860,15 +2860,25 @@ int dev_update_sensor_over_manage(sqlite3 *db,int product_id,int sensor_id,Globa
|
|
|
/// @return
|
|
|
static void AlarmToShm(char* strData)
|
|
|
{
|
|
|
+ int nMAXLens=64;
|
|
|
+ char strSave[64];
|
|
|
GlobalPowerManger* _globalPowerMangerTemp = NULL ;
|
|
|
GlobalDeviceManager *_globalDeviceManager = (GlobalDeviceManager *)&__globalDeviceManage;
|
|
|
int nSize=strlen(strData);
|
|
|
- if (nSize>50||nSize<=0)
|
|
|
+ if (nSize<=0)
|
|
|
{
|
|
|
/* code */
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+ if(nSize>=nMAXLens)
|
|
|
+ {
|
|
|
+ memset(strSave,0,nMAXLens);
|
|
|
+ memcpy(strSave,strData,nMAXLens-1);
|
|
|
+ strSave[63]='\0';
|
|
|
+ }else{
|
|
|
+ memset(strSave,0,nMAXLens);
|
|
|
+ memcpy(strSave,strData,nSize);
|
|
|
+ }
|
|
|
if (_globalDeviceManager->g_shm_Data)
|
|
|
{ // 初始化成功
|
|
|
if(_globalDeviceManager->g_shm_Data->bPDUSet)
|
|
|
@@ -2884,7 +2894,8 @@ static void AlarmToShm(char* strData)
|
|
|
if (isLastIndex != -1)//全部被占满则使用全局记录的位置进行添加
|
|
|
{
|
|
|
_globalDeviceManager->g_shm_Data->nTypeCtrlType[_globalDeviceManager->g_lastAlarmIndex]=1;//设置更新了一个报警
|
|
|
- strcpy(_globalDeviceManager->g_shm_Data->strMSG[_globalDeviceManager->g_lastAlarmIndex], strData);
|
|
|
+ memset(_globalDeviceManager->g_shm_Data->strMSG[_globalDeviceManager->g_lastAlarmIndex],0,nMAXLens);
|
|
|
+ strcpy(_globalDeviceManager->g_shm_Data->strMSG[_globalDeviceManager->g_lastAlarmIndex], strSave);
|
|
|
if (_globalDeviceManager->g_lastAlarmIndex < 10 && _globalDeviceManager->g_lastAlarmIndex >= 0)
|
|
|
{
|
|
|
_globalDeviceManager->g_lastAlarmIndex++;
|
|
|
@@ -2896,7 +2907,7 @@ static void AlarmToShm(char* strData)
|
|
|
}else//未被全部占满则使用空闲位置添加
|
|
|
{
|
|
|
_globalDeviceManager->g_shm_Data->nTypeCtrlType[isLastIndex]=1;//设置更新了一个报警
|
|
|
- strcpy(_globalDeviceManager->g_shm_Data->strMSG[isLastIndex], strData);
|
|
|
+ strcpy(_globalDeviceManager->g_shm_Data->strMSG[isLastIndex], strSave);
|
|
|
_globalDeviceManager->g_lastAlarmIndex=isLastIndex;
|
|
|
}
|
|
|
}
|
|
|
@@ -2947,6 +2958,11 @@ int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t
|
|
|
product_id,
|
|
|
alarm_content);
|
|
|
}
|
|
|
+ // 只有是电源 传感器以及网络告警才同步到小屏幕上显示报警信息
|
|
|
+ if (alarm_type == ALARM_TYPE_POWER || alarm_type == ALARM_TYPE_SENSOR || alarm_type == ALARM_TYPE_NETWORK)
|
|
|
+ {
|
|
|
+ AlarmToShm(alarm_content);
|
|
|
+ }
|
|
|
|
|
|
res = sqlite_SQL_RUN(db, select_sql, &pResult, &nrow, &ncolumn, &err_msg);
|
|
|
if(res != SQLITE_OK) {
|
|
|
@@ -2957,10 +2973,10 @@ int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t
|
|
|
|
|
|
//mail_send();
|
|
|
//只有是电源 传感器以及网络告警才同步到小屏幕上显示报警信息
|
|
|
- if (alarm_type==ALARM_TYPE_POWER||alarm_type==ALARM_TYPE_SENSOR||alarm_type==ALARM_TYPE_NETWORK)
|
|
|
- {
|
|
|
- AlarmToShm(alarm_content);
|
|
|
- }
|
|
|
+ //if (alarm_type == ALARM_TYPE_POWER || alarm_type == ALARM_TYPE_SENSOR || alarm_type == ALARM_TYPE_NETWORK)
|
|
|
+ //{
|
|
|
+ // AlarmToShm(alarm_content);
|
|
|
+ //}
|
|
|
|
|
|
return alarmNumber;
|
|
|
}
|