summaryrefslogtreecommitdiffstats
path: root/include/functions.c
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2004-08-08 15:13:06 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2004-08-08 15:13:06 +0000
commit3da79e6d41d7feb6eb2f6e61a1712fdeca4fb46c (patch)
tree4474956ae190044aa59bf8c4be23d3131427ade2 /include/functions.c
parent37568f78334d10a6b9b68e9c96f0694fce3ae6b0 (diff)
- added housekeeping of trends (Alexei)
- added column items.trends (Alexei) - added escaping of SQL statements where needed (Alexei) - added src/zabbix_sucker/checks_agent.[h,c] (Alexei) - added src/zabbix_sucker/checks_internal.[h,c] (Alexei) - added src/zabbix_sucker/checks_snmp.[h,c] (Alexei) - added src/zabbix_sucker/checks_simple.[h,c] (Alexei) git-svn-id: svn://svn.zabbix.com/trunk@1378 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'include/functions.c')
-rw-r--r--include/functions.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/functions.c b/include/functions.c
index 0412373c..f2ccde94 100644
--- a/include/functions.c
+++ b/include/functions.c
@@ -555,6 +555,7 @@ void update_functions(DB_ITEM *item)
DB_RESULT *result;
char sql[MAX_STRING_LEN];
char value[MAX_STRING_LEN];
+ char value_esc[MAX_STRING_LEN];
int ret=SUCCEED;
int i;
@@ -583,7 +584,8 @@ void update_functions(DB_ITEM *item)
zabbix_log( LOG_LEVEL_DEBUG, "Result:%f\n",value);
if (ret == SUCCEED)
{
- snprintf(sql,sizeof(sql)-1,"update functions set lastvalue='%s' where itemid=%d and function='%s' and parameter='%s'", value, function.itemid, function.function, function.parameter );
+ DBescape_string(value,value_esc,MAX_STRING_LEN);
+ snprintf(sql,sizeof(sql)-1,"update functions set lastvalue='%s' where itemid=%d and function='%s' and parameter='%s'", value_esc, function.itemid, function.function, function.parameter );
DBexecute(sql);
}
}
@@ -1173,6 +1175,7 @@ void process_new_value(DB_ITEM *item,char *value)
{
int now;
char sql[MAX_STRING_LEN];
+ char value_esc[MAX_STRING_LEN];
double value_double;
char *e;
@@ -1225,7 +1228,8 @@ void process_new_value(DB_ITEM *item,char *value)
{
if((item->prevvalue_null == 1) || (strcmp(value,item->lastvalue_str) != 0) || (strcmp(item->prevvalue_str,item->lastvalue_str) != 0) )
{
- snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",now+item->delay,value,now,item->itemid);
+ DBescape_string(value,value_esc,MAX_STRING_LEN);
+ snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",now+item->delay,value_esc,now,item->itemid);
item->prevvalue=item->lastvalue;
item->lastvalue=value_double;
item->prevvalue_str=item->lastvalue_str;