static void add_user_msg(int source, zbx_uint64_t userid, zbx_uint64_t mediatypeid, zbx_uint64_t triggerid, ZBX_USER_MSG **user_msg, char *subject, char *message) { ZBX_USER_MSG *p; zabbix_log(LOG_LEVEL_DEBUG, "In add_user_msg()"); if (SUCCEED != check_perm2system(userid)) return; if (EVENT_SOURCE_TRIGGERS == source && PERM_READ_ONLY > get_trigger_permision(userid, triggerid)) return; p = *user_msg; while (NULL != p) { if (p->userid == userid && 0 == strcmp(p->subject, subject) && 0 == strcmp(p->message, message)) break; p = p->next; } if (NULL == p) { p = zbx_malloc(p, sizeof(ZBX_USER_MSG)); p->userid = userid; p->mediatypeid = mediatypeid; p->subject = strdup(subject); p->message = strdup(message); p->next = *user_msg; *user_msg = p; } }
static void add_user_msg(zbx_uint64_t userid, zbx_uint64_t mediatypeid, ZBX_USER_MSG **user_msg, const char *subject, const char *message, unsigned char source, zbx_uint64_t triggerid) { const char *__function_name = "add_user_msg"; ZBX_USER_MSG *p; zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __function_name); if (SUCCEED != check_perm2system(userid)) return; if (EVENT_SOURCE_TRIGGERS == source && PERM_READ_ONLY > get_trigger_permission(userid, triggerid)) return; p = *user_msg; while (NULL != p) { if (p->userid == userid && p->mediatypeid == mediatypeid && 0 == strcmp(p->subject, subject) && 0 == strcmp(p->message, message)) break; p = p->next; } if (NULL == p) { p = zbx_malloc(p, sizeof(ZBX_USER_MSG)); p->userid = userid; p->mediatypeid = mediatypeid; p->subject = zbx_strdup(NULL, subject); p->message = zbx_strdup(NULL, message); p->next = *user_msg; *user_msg = p; } zabbix_log(LOG_LEVEL_DEBUG, "End of %s()", __function_name); }