Fix the generation of the log_categories string + LAPDM

... I should do more testing :(

Conflicts:

	src/logging.c
diff --git a/src/logging.c b/src/logging.c
index c05b523..730fc37 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -475,8 +475,9 @@
 }
 
 /* This generates the logging command string for VTY. */
-const char *log_vty_command_string(const struct log_info *info)
+const char *log_vty_command_string(const struct log_info *unused_info)
 {
+	struct log_info *info = osmo_log_info;
 	int len = 0, offset = 0, ret, i, rem;
 	int size = strlen("logging level () ()") + 1;
 	char *str;
@@ -549,8 +550,9 @@
 }
 
 /* This generates the logging command description for VTY. */
-const char *log_vty_command_description(const struct log_info *info)
+const char *log_vty_command_description(const struct log_info *unused_info)
 {
+	struct log_info *info = osmo_log_info;
 	char *str;
 	int i, ret, len = 0, offset = 0, rem;
 	unsigned int size =
@@ -619,7 +621,7 @@
 
 	osmo_log_info->num_cat_user = inf->num_cat;
 	/* total number = number of user cat + library cat */
-	osmo_log_info->num_cat = inf->num_cat + OSMO_NUM_DLIB;
+	osmo_log_info->num_cat = inf->num_cat + ARRAY_SIZE(internal_cat);
 
 	osmo_log_info->cat = talloc_zero_array(osmo_log_info,
 					struct log_info_cat,
@@ -638,7 +640,8 @@
 
 	/* copy over the library part */
 	for (i = 0; i < ARRAY_SIZE(internal_cat); i++) {
-		memcpy(&osmo_log_info->cat[inf->num_cat+i],
+		unsigned int cn = osmo_log_info->num_cat_user + i;
+		memcpy(&osmo_log_info->cat[cn],
 			&internal_cat[i], sizeof(struct log_info_cat));
 	}