mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-10 18:57:45 +00:00
FS-3617 --resolve truncate file and rename dump to save
This commit is contained in:
parent
519078b23e
commit
abc5d7cd03
@ -166,6 +166,7 @@ static switch_status_t do_config(switch_bool_t reload)
|
|||||||
"blacklist check <listname> <item>\n" \
|
"blacklist check <listname> <item>\n" \
|
||||||
"blacklist add <listname> <item>\n" \
|
"blacklist add <listname> <item>\n" \
|
||||||
"blacklist del <listname> <item>\n" \
|
"blacklist del <listname> <item>\n" \
|
||||||
|
"blacklist save <listname>\n" \
|
||||||
"blacklist reload\n" \
|
"blacklist reload\n" \
|
||||||
"blacklist help\n"
|
"blacklist help\n"
|
||||||
|
|
||||||
@ -249,7 +250,7 @@ SWITCH_STANDARD_API(blacklist_api_function)
|
|||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Removed [%s] from list [%s]\n", argv[2], argv[1]);
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Removed [%s] from list [%s]\n", argv[2], argv[1]);
|
||||||
switch_mutex_unlock(bl->list_mutex);
|
switch_mutex_unlock(bl->list_mutex);
|
||||||
stream->write_function(stream, "+OK\n");
|
stream->write_function(stream, "+OK\n");
|
||||||
} else if (!strcasecmp(argv[0], "dump")) {
|
} else if (!strcasecmp(argv[0], "save")) {
|
||||||
switch_hash_index_t *hi;
|
switch_hash_index_t *hi;
|
||||||
void *val;
|
void *val;
|
||||||
const void *var;
|
const void *var;
|
||||||
@ -276,15 +277,19 @@ SWITCH_STANDARD_API(blacklist_api_function)
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Dumping %s to %s\n", argv[1], filename);
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Saving %s to %s\n", argv[1], filename);
|
||||||
|
|
||||||
switch_mutex_lock(globals.lists_mutex);
|
switch_mutex_lock(globals.lists_mutex);
|
||||||
if (switch_file_open(&fd, filename, SWITCH_FOPEN_WRITE, SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE, globals.pool) == SWITCH_STATUS_SUCCESS) {
|
if (switch_file_open(&fd, filename, SWITCH_FOPEN_WRITE | SWITCH_FOPEN_TRUNCATE | SWITCH_FOPEN_CREATE, SWITCH_FPROT_OS_DEFAULT, globals.pool)
|
||||||
|
== SWITCH_STATUS_SUCCESS) {
|
||||||
for (hi = switch_hash_first(NULL, bl->list); hi; hi = switch_hash_next(hi)) {
|
for (hi = switch_hash_first(NULL, bl->list); hi; hi = switch_hash_next(hi)) {
|
||||||
switch_hash_this(hi, &var, NULL, &val);
|
switch_hash_this(hi, &var, NULL, &val);
|
||||||
switch_file_printf(fd, "%s\n", (char *)var);
|
switch_file_printf(fd, "%s\n", (char *)var);
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "adding %s to the dump file\n", (char *)var);
|
||||||
}
|
}
|
||||||
stream->write_function(stream, "+OK\n");
|
stream->write_function(stream, "+OK\n");
|
||||||
|
} else {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "couldn't open %s for writing\n", filename);
|
||||||
}
|
}
|
||||||
switch_mutex_unlock(globals.lists_mutex);
|
switch_mutex_unlock(globals.lists_mutex);
|
||||||
} else if (!strcasecmp(argv[0], "reload")) {
|
} else if (!strcasecmp(argv[0], "reload")) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user