menuselect: Add ability to set deprecated and removed versions.

The "deprecated_in" and "removed_in" information can now be
set in MODULEINFO for a module and is then displayed in
menuselect so users can be aware of when a module is slated
to be deprecated and then removed.

ASTERISK-29337

Change-Id: I6952889cf08e0e9e99cf8b43f99b3cef4688087a
This commit is contained in:
Joshua C. Colp
2021-03-10 10:05:58 -04:00
committed by George Joseph
parent be3e469f98
commit 6aac148d59
4 changed files with 50 additions and 2 deletions

View File

@@ -279,13 +279,21 @@ static void display_mem_info(WINDOW *menu, struct member *mem, int start_y, int
if (!mem->is_separator) { /* Separators lack support levels */
{ /* support level */
char buf2[64];
wmove(menu, end - start_y + 7, start_x);
snprintf(buf, sizeof(buf), "Support Level: %s", mem->support_level);
if (mem->replacement && *mem->replacement) {
char buf2[64];
snprintf(buf2, sizeof(buf2), ", Replaced by: %s", mem->replacement);
strncat(buf, buf2, sizeof(buf) - strlen(buf) - 1);
}
if (mem->deprecated_in && *mem->deprecated_in) {
snprintf(buf2, sizeof(buf2), ", Deprecated in: %s", mem->deprecated_in);
strncat(buf, buf2, sizeof(buf) - strlen(buf) - 1);
}
if (mem->removed_in && *mem->removed_in) {
snprintf(buf2, sizeof(buf2), ", Removed in: %s", mem->removed_in);
strncat(buf, buf2, sizeof(buf) - strlen(buf) - 1);
}
waddstr(menu, buf);
}
}