|
|
|
@ -1,111 +1,7 @@
|
|
|
|
|
Index: src/event.c
|
|
|
|
|
Index: libservicelog-1.1.13/src/addl_data.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- src/event.c.orig
|
|
|
|
|
+++ src/event.c
|
|
|
|
|
@@ -31,6 +31,7 @@
|
|
|
|
|
#include <sys/utsname.h>
|
|
|
|
|
#include <sqlite3.h>
|
|
|
|
|
#include "slog_internal.h"
|
|
|
|
|
+#include <inttypes.h>
|
|
|
|
|
|
|
|
|
|
static char *severity_text[] = { "", "DEBUG", "INFO", "EVENT", "WARNING",
|
|
|
|
|
"ERROR_LOCAL", "ERROR", "FATAL" };
|
|
|
|
|
@@ -102,7 +103,7 @@ put_blob(sqlite3 *db, char *table, uint6
|
|
|
|
|
char query[80];
|
|
|
|
|
sqlite3_stmt *stmt;
|
|
|
|
|
|
|
|
|
|
- snprintf(query, 80, "UPDATE %s SET %s = ? WHERE id = %lld",
|
|
|
|
|
+ snprintf(query, 80, "UPDATE %s SET %s = ? WHERE id = %" PRIu64,
|
|
|
|
|
table, column, row);
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
@@ -330,7 +331,7 @@ servicelog_event_log(servicelog *slog, s
|
|
|
|
|
|
|
|
|
|
snprintf(buf, 1024, "INSERT INTO callouts (event_id, "
|
|
|
|
|
"priority, type, procedure, location, fru, "
|
|
|
|
|
- "serial, ccin) VALUES (%llu, '%c', %d, '%s', "
|
|
|
|
|
+ "serial, ccin) VALUES (%" PRIu64", '%c', %d, '%s', "
|
|
|
|
|
"'%s', '%s', '%s', '%s');", event_id,
|
|
|
|
|
callout->priority, callout->type, proc, loc,
|
|
|
|
|
fru, serial, ccin);
|
|
|
|
|
@@ -422,7 +423,7 @@ servicelog_event_get(servicelog *slog, u
|
|
|
|
|
{
|
|
|
|
|
char query[30];
|
|
|
|
|
|
|
|
|
|
- snprintf(query, 30, "id=%llu", event_id);
|
|
|
|
|
+ snprintf(query, 30, "id=%" PRIu64, event_id);
|
|
|
|
|
return servicelog_event_query(slog, query, event);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -580,7 +581,7 @@ servicelog_event_query(servicelog *slog,
|
|
|
|
|
while (e) {
|
|
|
|
|
/* Retrieve any callouts associated with this event */
|
|
|
|
|
snprintf(buf, 512, "SELECT * FROM callouts WHERE "
|
|
|
|
|
- "event_id = %lld", e->id);
|
|
|
|
|
+ "event_id = %" PRIu64, e->id);
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, build_callout, &(e->callouts),
|
|
|
|
|
NULL);
|
|
|
|
|
|
|
|
|
|
@@ -590,7 +591,7 @@ servicelog_event_query(servicelog *slog,
|
|
|
|
|
retrieve_fcn = addl_data_fcns[e->type].retrieve;
|
|
|
|
|
|
|
|
|
|
snprintf(buf, 512, "SELECT * FROM %s WHERE "
|
|
|
|
|
- "event_id = %lld", table, e->id);
|
|
|
|
|
+ "event_id = %" PRIu64, table, e->id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, retrieve_fcn, e, &err);
|
|
|
|
|
if (rc != SQLITE_OK) {
|
|
|
|
|
@@ -616,7 +617,7 @@ servicelog_event_close(servicelog *slog,
|
|
|
|
|
if (slog == NULL)
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
|
- snprintf(buf, 80, "UPDATE events SET closed=1 WHERE id=%llu",
|
|
|
|
|
+ snprintf(buf, 80, "UPDATE events SET closed=1 WHERE id=%" PRIu64,
|
|
|
|
|
event_id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
@@ -640,8 +641,8 @@ servicelog_event_repair(servicelog *slog
|
|
|
|
|
if (slog == NULL)
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
|
- snprintf(buf, 80, "UPDATE events SET closed=1, repair=%llu "
|
|
|
|
|
- "WHERE id=%llu", repair_id, event_id);
|
|
|
|
|
+ snprintf(buf, 80, "UPDATE events SET closed=1, repair=% " PRIu64
|
|
|
|
|
+ "WHERE id=%" PRIu64, repair_id, event_id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
if (rc != SQLITE_OK) {
|
|
|
|
|
@@ -661,7 +662,7 @@ delete_row(servicelog *slog, const char
|
|
|
|
|
int rc;
|
|
|
|
|
char buf[80], *err;
|
|
|
|
|
|
|
|
|
|
- snprintf(buf, 80, "DELETE FROM %s WHERE %s=%llu", table, id_column, id);
|
|
|
|
|
+ snprintf(buf, 80, "DELETE FROM %s WHERE %s=%" PRIu64, table, id_column, id);
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
if (rc != SQLITE_OK) {
|
|
|
|
|
snprintf(slog->error, SL_MAX_ERR, "DELETE error (%d): %s",
|
|
|
|
|
@@ -749,7 +750,7 @@ servicelog_event_print(FILE *str, struct
|
|
|
|
|
struct tm time;
|
|
|
|
|
|
|
|
|
|
/* just print param/value pairs */
|
|
|
|
|
- count += fprintf(str, "ServicelogID: %llu\n",
|
|
|
|
|
+ count += fprintf(str, "ServicelogID: %" PRIu64 "\n",
|
|
|
|
|
event->id);
|
|
|
|
|
localtime_r(&(event->time_logged), &time);
|
|
|
|
|
count += fprintf(str, "LogTime: %02d/%02d/%04d "
|
|
|
|
|
@@ -798,7 +799,7 @@ servicelog_event_print(FILE *str, struct
|
|
|
|
|
count += fprintf(str, "CallHomeStatus: %d\n",
|
|
|
|
|
event->call_home_status);
|
|
|
|
|
count += fprintf(str, "Closed: %d\n", event->closed);
|
|
|
|
|
- count += fprintf(str, "RepairID: %llu\n",
|
|
|
|
|
+ count += fprintf(str, "RepairID: %" PRIu64 "\n",
|
|
|
|
|
event->repair);
|
|
|
|
|
while (callout != NULL) {
|
|
|
|
|
count += fprintf(str, "Callout: %c %d %s %s %s "
|
|
|
|
|
Index: src/addl_data.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- src/addl_data.c.orig
|
|
|
|
|
+++ src/addl_data.c
|
|
|
|
|
--- libservicelog-1.1.13.orig/src/addl_data.c
|
|
|
|
|
+++ libservicelog-1.1.13/src/addl_data.c
|
|
|
|
|
@@ -25,6 +25,7 @@
|
|
|
|
|
#include <sys/utsname.h>
|
|
|
|
|
#include <sqlite3.h>
|
|
|
|
@ -150,10 +46,114 @@ Index: src/addl_data.c
|
|
|
|
|
"%u, %u, %d);", event->id, bmc->sel_id, bmc->sel_type,
|
|
|
|
|
bmc->generator, bmc->version, bmc->sensor_type,
|
|
|
|
|
bmc->sensor_number, bmc->event_class, bmc->event_type,
|
|
|
|
|
Index: src/v29_compat.c
|
|
|
|
|
Index: libservicelog-1.1.13/src/event.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- src/v29_compat.c.orig
|
|
|
|
|
+++ src/v29_compat.c
|
|
|
|
|
--- libservicelog-1.1.13.orig/src/event.c
|
|
|
|
|
+++ libservicelog-1.1.13/src/event.c
|
|
|
|
|
@@ -31,6 +31,7 @@
|
|
|
|
|
#include <sys/utsname.h>
|
|
|
|
|
#include <sqlite3.h>
|
|
|
|
|
#include "slog_internal.h"
|
|
|
|
|
+#include <inttypes.h>
|
|
|
|
|
|
|
|
|
|
static char *severity_text[] = { "", "DEBUG", "INFO", "EVENT", "WARNING",
|
|
|
|
|
"ERROR_LOCAL", "ERROR", "FATAL" };
|
|
|
|
|
@@ -102,7 +103,7 @@ put_blob(sqlite3 *db, char *table, uint6
|
|
|
|
|
char query[80];
|
|
|
|
|
sqlite3_stmt *stmt;
|
|
|
|
|
|
|
|
|
|
- snprintf(query, 80, "UPDATE %s SET %s = ? WHERE id = %llu",
|
|
|
|
|
+ snprintf(query, 80, "UPDATE %s SET %s = ? WHERE id = %" PRIu64,
|
|
|
|
|
table, column, row);
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
@@ -334,7 +335,7 @@ servicelog_event_log(servicelog *slog, s
|
|
|
|
|
|
|
|
|
|
snprintf(buf, SQL_MAXLEN, "INSERT INTO callouts (event_id, "
|
|
|
|
|
"priority, type, procedure, location, fru, "
|
|
|
|
|
- "serial, ccin) VALUES (%llu, '%c', %d, '%s', "
|
|
|
|
|
+ "serial, ccin) VALUES (%" PRIu64", '%c', %d, '%s', "
|
|
|
|
|
"'%s', '%s', '%s', '%s');", event_id,
|
|
|
|
|
callout->priority, callout->type, proc, loc,
|
|
|
|
|
fru, serial, ccin);
|
|
|
|
|
@@ -426,7 +427,7 @@ servicelog_event_get(servicelog *slog, u
|
|
|
|
|
{
|
|
|
|
|
char query[30];
|
|
|
|
|
|
|
|
|
|
- snprintf(query, 30, "id=%llu", event_id);
|
|
|
|
|
+ snprintf(query, 30, "id=%" PRIu64, event_id);
|
|
|
|
|
return servicelog_event_query(slog, query, event);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -584,7 +585,7 @@ servicelog_event_query(servicelog *slog,
|
|
|
|
|
while (e) {
|
|
|
|
|
/* Retrieve any callouts associated with this event */
|
|
|
|
|
snprintf(buf, 512, "SELECT * FROM callouts WHERE "
|
|
|
|
|
- "event_id = %llu", e->id);
|
|
|
|
|
+ "event_id = %" PRIu64, e->id);
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, build_callout, &(e->callouts),
|
|
|
|
|
NULL);
|
|
|
|
|
|
|
|
|
|
@@ -594,7 +595,7 @@ servicelog_event_query(servicelog *slog,
|
|
|
|
|
retrieve_fcn = addl_data_fcns[e->type].retrieve;
|
|
|
|
|
|
|
|
|
|
snprintf(buf, 512, "SELECT * FROM %s WHERE "
|
|
|
|
|
- "event_id = %llu", table, e->id);
|
|
|
|
|
+ "event_id = %" PRIu64, table, e->id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, retrieve_fcn, e, &err);
|
|
|
|
|
if (rc != SQLITE_OK) {
|
|
|
|
|
@@ -620,7 +621,7 @@ servicelog_event_close(servicelog *slog,
|
|
|
|
|
if (slog == NULL)
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
|
- snprintf(buf, 80, "UPDATE events SET closed=1 WHERE id=%llu",
|
|
|
|
|
+ snprintf(buf, 80, "UPDATE events SET closed=1 WHERE id=%" PRIu64,
|
|
|
|
|
event_id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
@@ -644,8 +645,8 @@ servicelog_event_repair(servicelog *slog
|
|
|
|
|
if (slog == NULL)
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
|
- snprintf(buf, 80, "UPDATE events SET closed=1, repair=%llu "
|
|
|
|
|
- "WHERE id=%llu", repair_id, event_id);
|
|
|
|
|
+ snprintf(buf, 80, "UPDATE events SET closed=1, repair=% " PRIu64
|
|
|
|
|
+ "WHERE id=%" PRIu64, repair_id, event_id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
if (rc != SQLITE_OK) {
|
|
|
|
|
@@ -665,7 +666,7 @@ delete_row(servicelog *slog, const char
|
|
|
|
|
int rc;
|
|
|
|
|
char buf[80], *err;
|
|
|
|
|
|
|
|
|
|
- snprintf(buf, 80, "DELETE FROM %s WHERE %s=%llu", table, id_column, id);
|
|
|
|
|
+ snprintf(buf, 80, "DELETE FROM %s WHERE %s=%" PRIu64, table, id_column, id);
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
if (rc != SQLITE_OK) {
|
|
|
|
|
snprintf(slog->error, SL_MAX_ERR, "DELETE error (%d): %s",
|
|
|
|
|
@@ -753,7 +754,7 @@ servicelog_event_print(FILE *str, struct
|
|
|
|
|
struct tm time;
|
|
|
|
|
|
|
|
|
|
/* just print param/value pairs */
|
|
|
|
|
- count += fprintf(str, "ServicelogID: %llu\n",
|
|
|
|
|
+ count += fprintf(str, "ServicelogID: %" PRIu64 "\n",
|
|
|
|
|
event->id);
|
|
|
|
|
localtime_r(&(event->time_logged), &time);
|
|
|
|
|
count += fprintf(str, "LogTime: %02d/%02d/%04d "
|
|
|
|
|
@@ -802,7 +803,7 @@ servicelog_event_print(FILE *str, struct
|
|
|
|
|
count += fprintf(str, "CallHomeStatus: %d\n",
|
|
|
|
|
event->call_home_status);
|
|
|
|
|
count += fprintf(str, "Closed: %d\n", event->closed);
|
|
|
|
|
- count += fprintf(str, "RepairID: %llu\n",
|
|
|
|
|
+ count += fprintf(str, "RepairID: %" PRIu64 "\n",
|
|
|
|
|
event->repair);
|
|
|
|
|
while (callout != NULL) {
|
|
|
|
|
count += fprintf(str, "Callout: %c %d %s %s %s "
|
|
|
|
|
Index: libservicelog-1.1.13/src/v29_compat.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- libservicelog-1.1.13.orig/src/v29_compat.c
|
|
|
|
|
+++ libservicelog-1.1.13/src/v29_compat.c
|
|
|
|
|
@@ -22,6 +22,7 @@
|
|
|
|
|
#include "slog_internal.h"
|
|
|
|
|
#define EXCLUDE_SERVICELOG_COMPAT_DECLS
|
|
|
|
@ -189,10 +189,10 @@ Index: src/v29_compat.c
|
|
|
|
|
"to v0.2.9 sl_notify", v1->match, v1->id);
|
|
|
|
|
return ENOTSUP;
|
|
|
|
|
}
|
|
|
|
|
Index: src/repair_action.c
|
|
|
|
|
Index: libservicelog-1.1.13/src/repair_action.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- src/repair_action.c.orig
|
|
|
|
|
+++ src/repair_action.c
|
|
|
|
|
--- libservicelog-1.1.13.orig/src/repair_action.c
|
|
|
|
|
+++ libservicelog-1.1.13/src/repair_action.c
|
|
|
|
|
@@ -31,6 +31,7 @@
|
|
|
|
|
#include <sys/utsname.h>
|
|
|
|
|
#include <sqlite3.h>
|
|
|
|
@ -201,7 +201,7 @@ Index: src/repair_action.c
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
|
add_to_list(servicelog *slog, struct sl_event **events, uint64_t id)
|
|
|
|
|
@@ -285,7 +286,7 @@ servicelog_repair_get(servicelog *slog,
|
|
|
|
|
@@ -284,7 +285,7 @@ servicelog_repair_get(servicelog *slog,
|
|
|
|
|
{
|
|
|
|
|
char query[30];
|
|
|
|
|
|
|
|
|
@ -210,7 +210,7 @@ Index: src/repair_action.c
|
|
|
|
|
return servicelog_repair_query(slog, query, repair);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -409,7 +410,7 @@ servicelog_repair_delete(servicelog *slo
|
|
|
|
|
@@ -408,7 +409,7 @@ servicelog_repair_delete(servicelog *slo
|
|
|
|
|
if (slog == NULL)
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
@ -219,7 +219,7 @@ Index: src/repair_action.c
|
|
|
|
|
repair_id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
@@ -446,7 +447,7 @@ servicelog_repair_print(FILE *str, struc
|
|
|
|
|
@@ -445,7 +446,7 @@ servicelog_repair_print(FILE *str, struc
|
|
|
|
|
if (verbosity < 0) {
|
|
|
|
|
struct tm time;
|
|
|
|
|
|
|
|
|
@ -228,10 +228,10 @@ Index: src/repair_action.c
|
|
|
|
|
repair->id);
|
|
|
|
|
localtime_r(&(repair->time_logged), &time);
|
|
|
|
|
count += fprintf(str, "LogTime: %02d/%02d/%04d "
|
|
|
|
|
Index: src/notify.c
|
|
|
|
|
Index: libservicelog-1.1.13/src/notify.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- src/notify.c.orig
|
|
|
|
|
+++ src/notify.c
|
|
|
|
|
--- libservicelog-1.1.13.orig/src/notify.c
|
|
|
|
|
+++ libservicelog-1.1.13/src/notify.c
|
|
|
|
|
@@ -30,6 +30,7 @@
|
|
|
|
|
#include <sys/utsname.h>
|
|
|
|
|
#include <sqlite3.h>
|
|
|
|
@ -240,7 +240,7 @@ Index: src/notify.c
|
|
|
|
|
|
|
|
|
|
static char *notify_text[] = { "EVENT", "REPAIR" };
|
|
|
|
|
|
|
|
|
|
@@ -161,7 +162,7 @@ servicelog_notify_get(servicelog *slog,
|
|
|
|
|
@@ -163,7 +164,7 @@ servicelog_notify_get(servicelog *slog,
|
|
|
|
|
{
|
|
|
|
|
char query[30];
|
|
|
|
|
|
|
|
|
@ -249,16 +249,16 @@ Index: src/notify.c
|
|
|
|
|
return servicelog_notify_query(slog, query, notify);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -307,7 +308,7 @@ servicelog_notify_update(servicelog *slo
|
|
|
|
|
@@ -311,7 +312,7 @@ servicelog_notify_update(servicelog *slo
|
|
|
|
|
format_text_to_insert(notify->command, command, DESC_MAXLEN);
|
|
|
|
|
|
|
|
|
|
/* update the "notifications" table */
|
|
|
|
|
snprintf(buf, 1024, "UPDATE notifications SET notify=%d, command='%s', "
|
|
|
|
|
- "method=%d, match='%s') WHERE id=%llu", notify->notify,
|
|
|
|
|
+ "method=%d, match='%s') WHERE id=%" PRIu64, notify->notify,
|
|
|
|
|
notify->command, notify->method, notify->match, notify_id);
|
|
|
|
|
snprintf(buf, SQL_MAXLEN, "UPDATE notifications SET notify=%d, "
|
|
|
|
|
- "command='%s', method=%d, match='%s') WHERE id=%llu",
|
|
|
|
|
+ "command='%s', method=%d, match='%s') WHERE id=%" PRIu64,
|
|
|
|
|
notify->notify, command, notify->method,
|
|
|
|
|
notify->match, notify_id);
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
if (rc != SQLITE_OK) {
|
|
|
|
|
@@ -332,7 +333,7 @@ servicelog_notify_delete(servicelog *slo
|
|
|
|
|
@@ -337,7 +338,7 @@ servicelog_notify_delete(servicelog *slo
|
|
|
|
|
if (slog == NULL)
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
@ -267,7 +267,7 @@ Index: src/notify.c
|
|
|
|
|
notify_id);
|
|
|
|
|
|
|
|
|
|
rc = sqlite3_exec(slog->db, buf, NULL, NULL, &err);
|
|
|
|
|
@@ -368,7 +369,7 @@ servicelog_notify_print(FILE *str, struc
|
|
|
|
|
@@ -373,7 +374,7 @@ servicelog_notify_print(FILE *str, struc
|
|
|
|
|
if (verbosity < 0) {
|
|
|
|
|
struct tm time;
|
|
|
|
|
|
|
|
|
@ -276,16 +276,16 @@ Index: src/notify.c
|
|
|
|
|
notify->id);
|
|
|
|
|
localtime_r(&(notify->time_logged), &time);
|
|
|
|
|
count += fprintf(str, "LogTime: %02d/%02d/%04d "
|
|
|
|
|
@@ -466,7 +467,7 @@ run_notification_tool(struct sl_notify *
|
|
|
|
|
@@ -471,7 +472,7 @@ run_notification_tool(struct sl_notify *
|
|
|
|
|
id = repair->id;
|
|
|
|
|
|
|
|
|
|
if (notify->method == SL_METHOD_NUM_VIA_CMD_LINE)
|
|
|
|
|
- snprintf(cmd, 1024, "%s %llu", notify->command, id);
|
|
|
|
|
+ snprintf(cmd, 1024, "%s %" PRIu64, notify->command, id);
|
|
|
|
|
- snprintf(cmd, DESC_MAXLEN + 10, "%s %llu",
|
|
|
|
|
+ snprintf(cmd, DESC_MAXLEN + 10, "%s %" PRIu64,
|
|
|
|
|
notify->command, id);
|
|
|
|
|
else {
|
|
|
|
|
/* need pipes to pass in stdin */
|
|
|
|
|
snprintf(cmd, 1024, "%s", notify->command);
|
|
|
|
|
@@ -530,7 +531,7 @@ run_notification_tool(struct sl_notify *
|
|
|
|
|
@@ -536,7 +537,7 @@ run_notification_tool(struct sl_notify *
|
|
|
|
|
|
|
|
|
|
if (notify->method == SL_METHOD_NUM_VIA_STDIN) {
|
|
|
|
|
close(pipe_fd[0]);
|
|
|
|
@ -294,7 +294,7 @@ Index: src/notify.c
|
|
|
|
|
write(pipe_fd[1], buf, strlen(buf));
|
|
|
|
|
close(pipe_fd[1]);
|
|
|
|
|
}
|
|
|
|
|
@@ -629,9 +630,9 @@ check_notify(void *d, int argc, char **a
|
|
|
|
|
@@ -635,9 +636,9 @@ check_notify(void *d, int argc, char **a
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!notify.match || strlen(notify.match) == 0)
|
|
|
|
|