VTY: use argv_concat() instead of vty_argv_to_buffer + buffer_getstr()
diff --git a/openbsc/src/vty_interface_cmds.c b/openbsc/src/vty_interface_cmds.c
index 9ca9a24..06eb2a5 100644
--- a/openbsc/src/vty_interface_cmds.c
+++ b/openbsc/src/vty_interface_cmds.c
@@ -39,23 +39,6 @@
 		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 @@
 	"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;
 }
 
diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c
index b48b4a5..202518e 100644
--- a/openbsc/src/vty_interface_layer3.c
+++ b/openbsc/src/vty_interface_layer3.c
@@ -263,12 +263,12 @@
 	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 @@
 	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 @@
 			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 @@
 	"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 @@
 		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);