VTY: use argv_concat() instead of vty_argv_to_buffer + buffer_getstr()

This commit is contained in:
Harald Welte 2010-05-16 19:28:32 +02:00
parent 08e2bfa920
commit 20474ad029
2 changed files with 13 additions and 38 deletions

View File

@ -39,23 +39,6 @@ static void _vty_output(struct log_target *tgt, const char *line)
vty_out(vty, "\r");
}
struct buffer *vty_argv_to_buffer(int argc, const char *argv[], int base)
{
struct buffer *b = buffer_new(NULL, 1024);
int i;
if (!b)
return NULL;
for (i = base; i < argc; i++) {
buffer_putstr(b, argv[i]);
buffer_putc(b, ' ');
}
buffer_putc(b, '\0');
return b;
}
struct log_target *log_target_create_vty(struct vty *vty)
{
struct log_target *target;
@ -410,24 +393,16 @@ gDEFUN(cfg_description, cfg_description_cmd,
"Save human-readable decription of the object\n")
{
char **dptr = vty->index_sub;
struct buffer *b;
if (!dptr) {
vty_out(vty, "vty->index_sub == NULL%s", VTY_NEWLINE);
return CMD_WARNING;
}
b = vty_argv_to_buffer(argc, argv, 0);
if (!b)
*dptr = argv_concat(argv, argc, 0);
if (!dptr)
return CMD_WARNING;
if (*dptr)
talloc_free(*dptr);
*dptr = talloc_strdup(NULL, buffer_getstr(b));
buffer_free(b);
return CMD_SUCCESS;
}

View File

@ -263,12 +263,12 @@ struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, const char *text)
return sms;
}
static int _send_sms_buffer(struct gsm_subscriber *receiver,
struct buffer *b, u_int8_t tp_pid)
static int _send_sms_str(struct gsm_subscriber *receiver, char *str,
u_int8_t tp_pid)
{
struct gsm_sms *sms;
sms = sms_from_text(receiver, buffer_getstr(b));
sms = sms_from_text(receiver, str);
sms->protocol_id = tp_pid;
gsm411_send_sms_subscr(receiver, sms);
@ -303,7 +303,7 @@ DEFUN(subscriber_send_sms,
SUBSCR_HELP "SMS Operations\n" "Send SMS\n" "Actual SMS Text")
{
struct gsm_subscriber *subscr = get_subscr_by_argv(argv[0], argv[1]);
struct buffer *b;
char *str;
int rc;
if (!subscr) {
@ -311,9 +311,9 @@ DEFUN(subscriber_send_sms,
argv[0], argv[1], VTY_NEWLINE);
return CMD_WARNING;
}
b = vty_argv_to_buffer(argc, argv, 2);
rc = _send_sms_buffer(subscr, b, 0);
buffer_free(b);
str = argv_concat(argv, argc, 2);
rc = _send_sms_str(subscr, str, 0);
talloc_free(str);
subscr_put(subscr);
@ -327,7 +327,7 @@ DEFUN(subscriber_silent_sms,
"Silent SMS Operation\n" "Send Silent SMS\n" "Actual SMS text\n")
{
struct gsm_subscriber *subscr = get_subscr_by_argv(argv[0], argv[1]);
struct buffer *b;
char *str;
int rc;
if (!subscr) {
@ -336,9 +336,9 @@ DEFUN(subscriber_silent_sms,
return CMD_WARNING;
}
b = vty_argv_to_buffer(argc, argv, 2);
rc = _send_sms_buffer(subscr, b, 64);
buffer_free(b);
str = argv_concat(argv, argc, 2);
rc = _send_sms_str(subscr, str, 0);
talloc_free(str);
subscr_put(subscr);