diff options
author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-03 11:59:35 +0000 |
---|---|---|
committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-03 11:59:35 +0000 |
commit | 14356f30977c7c2c81741f9d640efe05c442f070 (patch) | |
tree | e448d23ac96d174a01161dfec9919702a01a16bd /src/zabbix_proxy/servercomms.c | |
parent | 9adc9aedaf9d9d1130ac1ae7cbc59d8da84697db (diff) | |
download | zabbix-14356f30977c7c2c81741f9d640efe05c442f070.tar.gz zabbix-14356f30977c7c2c81741f9d640efe05c442f070.tar.xz zabbix-14356f30977c7c2c81741f9d640efe05c442f070.zip |
- [DEV-110] Proxy
git-svn-id: svn://svn.zabbix.com/trunk@5435 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/zabbix_proxy/servercomms.c')
-rw-r--r-- | src/zabbix_proxy/servercomms.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/zabbix_proxy/servercomms.c b/src/zabbix_proxy/servercomms.c index 2adee6fa..e0651bfa 100644 --- a/src/zabbix_proxy/servercomms.c +++ b/src/zabbix_proxy/servercomms.c @@ -95,7 +95,7 @@ void disconnect_server(zbx_sock_t *sock) * Comments: * * * ******************************************************************************/ -int get_data_from_server(zbx_sock_t *sock, /*const char *name, */const char *request, char **data) +int get_data_from_server(zbx_sock_t *sock, const char *request, char **data) { int ret = FAIL; struct zbx_json j; @@ -113,9 +113,6 @@ int get_data_from_server(zbx_sock_t *sock, /*const char *name, */const char *req if (FAIL == recv_data_from_server(sock, data)) goto exit; -/* zabbix_log (LOG_LEVEL_WARNING, "Received %s from server", - name);*/ - ret = SUCCEED; exit: zbx_json_free(&j); @@ -139,9 +136,11 @@ exit: * Comments: * * * ******************************************************************************/ -int put_data_to_server(zbx_sock_t *sock, /*const char *name, */struct zbx_json *j, char **answer) +int put_data_to_server(zbx_sock_t *sock, struct zbx_json *j) { - int ret = FAIL; + struct zbx_json_parse jp; + int ret = FAIL; + char *answer, value[MAX_STRING_LEN]; zabbix_log(LOG_LEVEL_DEBUG, "In put_data_to_server() [datalen:%zd]", j->buffer_size); @@ -149,13 +148,22 @@ int put_data_to_server(zbx_sock_t *sock, /*const char *name, */struct zbx_json * if (FAIL == send_data_to_server(sock, j->buffer)) goto exit; - if (FAIL == recv_data_from_server(sock, answer)) + if (FAIL == recv_data_from_server(sock, &answer)) + goto exit; + + if (FAIL == zbx_json_open(answer, &jp)) goto exit; -/* zabbix_log(LOG_LEVEL_WARNING, "Received %s from server", - name);*/ + if (FAIL == zbx_json_value_by_name(&jp, ZBX_PROTO_TAG_RESPONSE, value, sizeof(value))) + goto exit; + + if (0 != strcmp(value, ZBX_PROTO_VALUE_SUCCESS)) + goto exit; ret = SUCCEED; exit: + zabbix_log(LOG_LEVEL_DEBUG, "End of put_data_to_server():%s", + ret == SUCCEED ? "SUCCEED" : "FAIL"); + return ret; } |