diff options
| author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-05-26 12:13:17 +0000 |
|---|---|---|
| committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-05-26 12:13:17 +0000 |
| commit | 965c7db318bb52f6d92f02dd3934e1c01249bdf2 (patch) | |
| tree | f42a7118db71c40119c583162479b4fda2e525b1 /src/libs/zbxsysinfo/common/common.c | |
| parent | 60acf9d39e2337ffe440ab1f24cddd6a2fc24577 (diff) | |
| download | zabbix-965c7db318bb52f6d92f02dd3934e1c01249bdf2.tar.gz zabbix-965c7db318bb52f6d92f02dd3934e1c01249bdf2.tar.xz zabbix-965c7db318bb52f6d92f02dd3934e1c01249bdf2.zip | |
- added support of value type Text (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@2911 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs/zbxsysinfo/common/common.c')
| -rw-r--r-- | src/libs/zbxsysinfo/common/common.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/libs/zbxsysinfo/common/common.c b/src/libs/zbxsysinfo/common/common.c index a41fb485..3ff59902 100644 --- a/src/libs/zbxsysinfo/common/common.c +++ b/src/libs/zbxsysinfo/common/common.c @@ -233,6 +233,11 @@ void free_result(AGENT_RESULT *result) { free(result->str); } + + if(result->type & AR_TEXT) + { + free(result->text); + } if(result->type & AR_MESSAGE) { @@ -256,6 +261,7 @@ void init_result(AGENT_RESULT *result) result->ui64 = 0; result->dbl = 0; result->str = NULL; + result->text = NULL; result->msg = NULL; init_result_list(&(result->list)); @@ -1121,7 +1127,7 @@ int EXECUTE_STR(const char *cmd, const char *param, unsigned flags, AGENT_RESULT FILE *f; char c[MAX_STRING_LEN]; char command[MAX_STRING_LEN]; - int i; + int i,len; assert(result); @@ -1142,7 +1148,9 @@ int EXECUTE_STR(const char *cmd, const char *param, unsigned flags, AGENT_RESULT } } - if(NULL == fgets(c,MAX_STRING_LEN,f)) + len = fread(c, 1, MAX_STRING_LEN-1, f); + + if(0 != ferror(f)) { switch (errno) { @@ -1156,6 +1164,10 @@ int EXECUTE_STR(const char *cmd, const char *param, unsigned flags, AGENT_RESULT } } + c[len]=0; + + zabbix_log(LOG_LEVEL_WARNING, "Run remote command [%s] Result [%d] [%s]", command, strlen(c), c); + if(pclose(f) != 0) { switch (errno) |
